同じコードで SQLCommand の同じインスタンスを複数回使用できないのはなぜですか?
ここでコードを試してみましたが、グリッドビューでうまく動作しますが、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();
}