将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'无效。

我的数据库中确实有上述存储过程。我不知道为什么会这样。有人能帮忙吗?

将sqlcommand作为参数传递.抛出无效对象错误,即使该对象存在于数据库中

你必须连接CommandConnection:

//The class that takes sqlcommand as parameter
public static DataSet GetData(SqlCommand Command)
{
    Command.Connection = _Connection;