C# 将sqlcommand作为参数传递。即使数据库中存在对象,也会引发无效的对象错误
我对以下代码有问题。请帮忙 我试图做的是将一个sqlcommand传递给一个函数,然后该函数返回一个数据集 函数“获取数据”将sqlcommand作为参数。此函数位于“DatabaseUtilities”类中。C# 将sqlcommand作为参数传递。即使数据库中存在对象,也会引发无效的对象错误,c#,sqlcommand,C#,Sqlcommand,我对以下代码有问题。请帮忙 我试图做的是将一个sqlcommand传递给一个函数,然后该函数返回一个数据集 函数“获取数据”将sqlcommand作为参数。此函数位于“DatabaseUtilities”类中。 //Initializing sql connection static SqlConnection _Connection = new SqlConnection("Data Source=(local);Initial Catalog=db_Test;Integrat
//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);
}
此代码抛出FLOWING错误。
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”无效
我的数据库中确实有上述存储过程。我不知道为什么会这样。有人能帮忙吗?您必须将
命令
与连接
:
//The class that takes sqlcommand as parameter
public static DataSet GetData(SqlCommand Command)
{
Command.Connection = _Connection;
static SqlConnection
在使用多个线程(例如ASP.NET)并且甚至启用了连接池(默认)时不是一个好主意:我在传递sqlcommand的类中这样做了。公共数据集GetLogByDate(字符串搜索值){Command.CommandType=CommandType.StoredProcess;Command.Connection=DatabaseUtilities.Connection;@AbhishekSingh Command.Connection=DatabaseUtilities.Connection与您打开的实例_Connection不同。