0

autocompleteはc#でテキストを試し、このコードを試しました。

try
{
   textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
   textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
   AutoCompleteStringCollection col = new AutoCompleteStringCollection();
   sqlconn.Open();
   string query = "select id from cmp_det where id =" + textBox1.Text;
   SqlCommand command = new SqlCommand(query, sqlconn);
   SqlDataReader sdr = command.ExecuteReader();
   while (sdr.Read())
   {
       col.Add(sdr["Column_Name"].ToString());    
   }
   sdr.Close();
   textBox1.AutoCompleteCustomSource = col;
   sqlconn.Close();
}
catch(Exception ex)
{
    Console.WriteLine("exception=="+ex);
}

) コードを実行すると、次のエラーが表示されます。

exception==System.InvalidOperationException: There is already an open DataReader associated with this Command which must be closed first.
4

3 に答える 3

0

これは、MAR のデフォルト設定が変更されたためです。以前はデフォルトでオンでしたが、RC1 以降のデフォルトでオフに変更しました。したがって、接続文字列を変更して元に戻すだけです (MultipleActiveResultSets=True を接続文字列に追加します)。

于 2013-07-12T10:01:09.647 に答える