从本地数据库 C# 自动完成

  • 本文关键字:数据库 c# vistadb
  • 更新时间 :
  • 英文 :


我被困在这里很长时间了,我只是找不到解决这个问题的方法。

我的本地数据库是 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;

替换以下行:

    cmnd.CommandText = "SELECT top(10) Pojam FROM dbo.RecnikFinal";  

    cmnd.CommandText = "SELECT Pojam FROM dbo.RecnikFinal";  

相关内容

  • 没有找到相关文章

最新更新