将sqlcommand作为参数传递.抛出无效对象错误,即使该对象存在于数据库中
本文关键字:对象 存在 数据库 错误 参数传递 无效 sqlcommand | 更新日期: 2023-09-27 18:04:01
我对下面的代码有一个问题。请帮助。
我要做的是传递一个sqlcommand到一个函数,然后返回一个数据集。
Get data函数以sqlcommand作为参数。这个函数在类' databasutilities '
//Initializing sql connection
static SqlConnection _Connection = new SqlConnection("Data Source=(local);Initial Catalog=db_Test;Integrated Security=True");
//Connection property
public static SqlConnection Connection
{
get {return _Connection;}
}
//The class that takes sqlcommand as parameter
public static DataSet GetData(SqlCommand Command)
{
_Connection.Open();
SqlDataAdapter Adapter = new SqlDataAdapter();
Adapter.SelectCommand = Command;
DataSet Table = new DataSet();
Adapter.Fill(Table);
_Connection.Close();
return Table;
}
这就是sqlcommand被传递到上述函数的方式。这个函数来自另一个类
public DataSet GetLogByDate(string SearchValue)
{
Command.CommandType = CommandType.StoredProcedure;
Command.Connection = DatabaseUtilities.Connection;
Command.CommandText = "sp_GetLogByDate";
Command.Parameters.AddWithValue("@LogDate", SearchValue);
return GetData(Command);
}
此代码抛出以下错误:
对象名称'sp_GetLogByDate'无效。
我的数据库中确实有上述存储过程。我不知道为什么会这样。有人能帮忙吗?
你必须连接Command
和Connection
:
//The class that takes sqlcommand as parameter
public static DataSet GetData(SqlCommand Command)
{
Command.Connection = _Connection;