How can I run a scalar valued function from c# and get its value? For a table-based function, I use a select command and get the resulting DataTable, but I am clueless on how to do it with scalar valued functions.
-
Are you using ADO.NET? See similar question/answers here: stackoverflow.com/questions/12364891/…Ocelot20– Ocelot202013-02-18 18:41:19 +00:00Commented Feb 18, 2013 at 18:41
-
You still use a select command, select the scalar value, i.e. "select 1", and you get back a DataTable with 1 row & 1 column. It would be better to use ExecuteReader () if you just iterate over the results. Also, for scalars you can use ExecuteScalar () on your SqlCommand object.muhmud– muhmud2013-02-18 18:54:50 +00:00Commented Feb 18, 2013 at 18:54
Add a comment
|
1 Answer
You can pass a string to SQL and have it do anything that SQL can do using SqlConneciton and 'SqlCommand'.
string sqlcheck = "SELECT * FROM " + table + " WHERE CUST_NO = @customerNumber";
using (SqlConnection connect = new SqlConnection(DBConnection String))
{
using (SqlCommand command = new SqlCommand(sqlcheck, connect))
{
command.Parameters.AddWithValue("@customerNumber", customerNumber);
connect.Open();
response = (string)(command.ExecuteScalar());
}
}
You can use ExecuteScalar or one of the other execution methods. http://msdn.microsoft.com/en-us/library/182ax5k8.aspx
You can make your SQL string do any SQL, and return/not return using the different execution methods.