Автозаполнение из локальной базы данных C#
Я застрял здесь большое время, я просто не могу найти способ решить эту проблему.
Моя локальная база данных - VistaDB. Мой код работает, когда дело доходит до 10 лучших результатов, но мне нужно собрать все из столбца "Pojam" для отображения в текстовом поле, а не только из 10 лучших результатов.
Мой код работает в обработчике 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;
1 ответ
Заменить следующую строку:
cmnd.CommandText = "SELECT top(10) Pojam FROM dbo.RecnikFinal";
с
cmnd.CommandText = "SELECT Pojam FROM dbo.RecnikFinal";