C# 已打开与此命令关联的DataReader,必须先关闭该命令
当我试图执行代码时,它显示了上面的错误C# 已打开与此命令关联的DataReader,必须先关闭该命令,c#,C#,当我试图执行代码时,它显示了上面的错误 try { com.CommandText = "select * from Export"; com.ExecuteReader(); data_mode = "Export"; com.CommandText = "Insert INTO [" + New_access_file + "]." + data_mode + " select * FROM ExportDATA"; com.ExecuteNonQu
try
{
com.CommandText = "select * from Export";
com.ExecuteReader();
data_mode = "Export";
com.CommandText = "Insert INTO [" + New_access_file + "]." + data_mode + " select * FROM ExportDATA";
com.ExecuteNonQuery();
}
catch
{
data_mode = "Export";
com.CommandText = "SELECT * INTO [" + New_access_file + "]." + data_mode + " FROM ExportDATA";
com.ExecuteReader();
}
您需要打开连接:-
try
{
con.open();
com.CommandText = "select * from Export";
com.ExecuteReader();
data_mode = "Export";
com.CommandText = "Insert INTO [" + New_access_file + "]." + data_mode + " select * FROM ExportDATA";
com.ExecuteNonQuery();
}
catch
{
data_mode = "Export";
com.CommandText = "SELECT * INTO [" + New_access_file + "]." + data_mode + " FROM ExportDATA";
com.ExecuteReader();
}
Finally
{
con.close();
}
您需要打开连接:-
try
{
con.open();
com.CommandText = "select * from Export";
com.ExecuteReader();
data_mode = "Export";
com.CommandText = "Insert INTO [" + New_access_file + "]." + data_mode + " select * FROM ExportDATA";
com.ExecuteNonQuery();
}
catch
{
data_mode = "Export";
com.CommandText = "SELECT * INTO [" + New_access_file + "]." + data_mode + " FROM ExportDATA";
com.ExecuteReader();
}
Finally
{
con.close();
}
在使用完DataReader对象后,应该始终调用Close方法 请注意,当DataReader打开时,该连接由该DataReader独占使用。在关闭原始DataReader之前,无法执行连接的任何命令,包括创建另一个DataReader 使用此代码
var reader = com.ExecuteReader();
//do whatever with reader
reader.Close();
或
有关详细信息,您可以使用CommandBehavior.CloseConnection
。我们可以使用命令对象的ExecuteReader方法传递它,比如
var reader = com.ExecuteReader(CommandBehavior.CloseConnection);
这将确保在调用reader.Close()时,关联的连接对象也将被关闭。您应该始终在使用完DataReader对象后调用Close方法 请注意,当DataReader打开时,该连接由该DataReader独占使用。在关闭原始DataReader之前,无法执行连接的任何命令,包括创建另一个DataReader 使用此代码
var reader = com.ExecuteReader();
//do whatever with reader
reader.Close();
或
有关详细信息,您可以使用CommandBehavior.CloseConnection
。我们可以使用命令对象的ExecuteReader方法传递它,比如
var reader = com.ExecuteReader(CommandBehavior.CloseConnection);
这将确保在调用reader.Close()时,关联的连接对象也将被关闭