私はちょっとここで立ち往生しています。これを解決する方法が見つかりません。
私のローカル データベースは VistaDB です。私のコードは、上位 10 件の結果に関しては機能しますが、上位 10 件の結果だけでなく、「Pojam」列からすべてを収集してテキスト ボックスに表示する必要があります。
私のコードは text_changed イベント ハンドラーで実行されます
助けてください。前もって感謝します
string pojam = UppercaseFirst(TextBoxPojam.Text.ToLower());
AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();
VistaDBConnection con = new VistaDBConnection(@"data source='|DataDirectory|Recnik.vdb4';Pooling=true;Open Mode = NonexclusiveReadWrite;");
con.Open();
VistaDBCommand cmnd = con.CreateCommand();
cmnd.CommandType = CommandType.Text;
cmnd.CommandText = "SELECT top(10) Pojam FROM dbo.RecnikFinal";
VistaDBDataReader dReader;
dReader = cmnd.ExecuteReader();
if (dReader.Read())
{
while (dReader.Read())
namesCollection.Add(dReader["Pojam"].ToString());
}
else
{
MessageBox.Show("Data not found");
}
dReader.Close();
TextBoxPojam.AutoCompleteMode = AutoCompleteMode.Suggest;
TextBoxPojam.AutoCompleteSource = AutoCompleteSource.CustomSource;
TextBoxPojam.AutoCompleteCustomSource = namesCollection;