ExecuteReader:连接错误消息
问题描述:
我想在我的文本框中显示数据,并且在我的DAL中遇到错误。我有一个存储过程,但我无法让我的数据返回返回值。我想用我的BLL
返回一个DataTable。请你帮忙吗?ExecuteReader:连接错误消息
DAL
public static string GetTicket(collection b)
{
try
{
string returnValue = string.Empty;
DB = Connect();
DBCommand = connection.Procedure("getTicket");
DB.AddInParameter(DBCommand, "@SupportRef", DbType.String, b.SupportRef1);
var myReader = DBCommand.ExecuteReader();
while (myReader.Read())
{
returnValue = myReader.GetString(0);
}
return returnValue;
}
catch (Exception ex)
{
throw ex;
}
}
我收到以下错误:
ExecuteReader: Connection property has not been initialized.
我使用的连接类,看起来像这样:
public class connection
{
const string StrConnection = "TicketHelperConnectionString";
internal static Database DB;
public static DbCommand DBCommand;
public static Database Connect()
{
try
{
DB = DatabaseFactory.CreateDatabase(StrConnection);
return DB;
}
catch (Exception ex)
{
throw (ex);
}
}
public static DbCommand Procedure(string procedure)
{
try
{
DBCommand = DB.GetStoredProcCommand(procedure);
return DBCommand;
}
catch (Exception ex)
{
throw (ex);
}
}
}
答
看起来像连接属性DBCommand
没有设置,在你之前从Procedure
方法转你的命令你必须设置其连接属性:
DBCommand = DB.GetStoredProcCommand(procedure);
// DBCommand.Connection = ...
return DBCommand;