Автозаполнение из локальной базы данных 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";  
Другие вопросы по тегам