【发布时间】:2013-12-17 12:29:07
【问题描述】:
这是我的函数的定义,用于执行返回单个字符串值的查询。
public static string ExecuteScalar(DbCommand comm)
{
String value = "";
try
{
comm.Connection.Open();
**value = comm.ExecuteScalar().ToString();**//exception occurs here.
} //It says "Object reference is not set instance of an object"
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
comm.Connection.Close();
}
return value;
}
它由一个函数执行。
public static string selectentries(string id)
{
string value = "";
DbCommand comm = GenericDataAccess.CreateCommand();
comm.CommandText = "SelectEntries";
DbParameter param = comm.CreateParameter();
param.ParameterName = "@id";
param.Value = id;
param.DbType = DbType.String;
comm.Parameters.Add(param);
try
{
value = GenericDataAccess.ExecuteScalar(comm);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
return value;
}
存储过程是一个查询
SELECT name from Credentials where student_id=@id.
其中 name 是数据库中的 varchar(30),@id 是传递给存储过程的字符串值。
如何解决这个问题?
【问题讨论】:
-
您是否尝试调试过您的代码?
标签: sql c#-4.0 exception stored-procedures sql-server-2012