【发布时间】:2013-09-19 05:32:06
【问题描述】:
我有一个存储过程,它根据某些条件返回标志值。存储过程不返回 NULL 值,它根据某些条件返回 1、2 或 3。但是当我调试时,我的 ADO.NET 代码会抛出异常,因为 ExecuteScalar 正在返回 NULL。
这是我的 ADO.NET 代码:
SqlCommand cmd = new SqlCommand("sp_checkifexists", con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Name",name);
cmd.Parameters.AddWithValue("@Regno",regno);
cmd.Parameters.Add("@flag", System.Data.SqlDbType.VarChar, 40);
cmd.Parameters["@flag"].Direction = System.Data.ParameterDirection.Output;
con.Open();
// Error occcurs here
int NoOfRows = Convert.ToInt16(cmd.ExecuteScalar());
con.Close();
int flag = (int)cmd.Parameters["@flag"].Value;
return flag;
任何帮助将不胜感激!
【问题讨论】:
-
你能用你的存储过程更新问题吗?