У меня вопрос об использовании, почему я не могу использовать один и тот же экземпляр SQLCommand более одного раза в одном коде?, используя один и тот же экземпляр SQLCommand более одного раза в одном и том же коде для нескольких запросов?
Я попробовал код здесь, и она работает хорошо для GridView, но когда я изменил запрос, используя cmd.CommandText()
метод, который он продолжает говорить:
Существует уже открытая DataReader, связанные с этой командой, которая должна быть первый закрыт.
Это код:
string cs = ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString;
SqlConnection con = new SqlConnection(cs);
try
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
con.Open();
cmd.CommandText = "Select top 10 FirstName, LastName, Address, City, State from Customers";
GridView1.DataSource = cmd.ExecuteReader();
GridView1.DataBind();
cmd.CommandText = "SELECT TOP 10 COUNT(CreditLimit) FROM Customers";
int total = (int)cmd.ExecuteScalar();
TotalCreditLble.Text = "The total Credit :" + total.ToString();
}
catch(Exception exp)
{
Response.Write(exp.Message);
}
finally
{
con.Close();
}
Я согласен с чувством о не повторно - использование команд/соединений, поскольку это может только вызвать у вас проблемы. –