Windowsフォームアプリケーションにtextbox(textbox1という名前)があります。nn.sdfという名前のデータベースがあり、これをオートコンプリートのソースとして使用したいと思います。ユーザーがtextbox1に入力すると、データベース、ユーザーが指定した入力テキストと一致します。したがって、コードをtextBox1_TextChanged
property.myコードに入れます。コードは次のとおりです。
private void textBox1_TextChanged(object sender, EventArgs e)
{
AutoCompleteStringCollection namesCollection = new AutoCompleteStringCollection();
SqlCeConnection con = new SqlCeConnection(@"Data Source=C:\Users\Imon-Bayazid\Documents\nn.sdf");
con.Open();
SqlCeCommand cmnd = con.CreateCommand();
cmnd.CommandType = CommandType.Text;
cmnd.CommandText = "SELECT top(10) english FROM dic";
SqlCeDataReader dReader;
dReader = cmnd.ExecuteReader();
if (dReader.Read())
{
while (dReader.Read())
namesCollection.Add(dReader["english"].ToString());
}
else
{
MessageBox.Show("Data not found");
}
dReader.Close();
textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox1.AutoCompleteCustomSource = namesCollection;
}
しかし、それは最初の10個のデータのみを示しています。私は行に問題があることを知っています
cmnd.CommandText = "SELECT top(10) english FROM dic";// english is my column name and dic is my table name
cmnd.CommandTextをどうすればよいかわかりません。ユーザーがテキストボックスに何かを入力するたびに、自動提案が必要です1。これどうやってするの???