已有打开的与此命令相关联的 DataReader,必须首先将它关闭。
主要原因是 DataReader 在打开使用时,一个 SqlConnection 只允许打开一个 DataReader,在开启另一个 DataReader 时,必须将前面一个先 Close 掉。
1、首先输入代码:
private static string strConn = ConfigurationManager.ConnectionStrings["SQLLSB2008"].ConnectionString;
private static SqlConnection myConn = null;
private static SqlDataAdapter myAdapter = new SqlDataAdapter();
private static SqlCommand myCmd = new SqlCommand();
private static DataTable myTable = new DataTable();
2、然后输入下方的代码:
public static DataTable returnDataTable(string mySql, SqlParameter[] parameters)
{
myConn = new SqlConnection(strConn);
using (myCmd = new SqlCommand(mySql, myConn))
{
try
{
myCmd.Parameters.AddRange(parameters);
myAdapter = new SqlDataAdapter(myCmd);
myTable.Clear();
myAdapter.Fill(myTable);
}
3、然后输入下方的代码,就可以解决问题了:
catch
{
connClose();
}
finally
{
connClose();
}
}
return myTable;
}