如何使用SQLCE数据库中的多个列进行SELECT?

时间:2011-10-24 18:10:25

标签: c# visual-studio-2010 ado.net sql-server-ce local-database

因为我的上一个问题没有回复任何有用的东西,我将不得不再问一个问题。

情况:

我有一个本地SQLCE数据库。它包含2个表格; “Artikels”和“Leggers”(不介意荷兰名字,不改变这种情况)。我将要查询的表有“Artikelnummer”,“Omschrijving”,“Legger”和“Voorraad”栏目。

我想做什么:

查询表格“Artikels”中的“Artikelnummer”和“Omschrijving”,然后将其显示在CheckedListbox中,最好有两个单独的列(如果不能与多个列一起使用,则只显示一个)。

我从教程和答案中汇总的代码:

private void populateListbox()
    {
        string connectionString = Properties.Settings.Default.Database;

        string selectString = "select artikelnummer, omschrijving from Artikels";

        SqlCeDataAdapter sqlDataAdapter = new SqlCeDataAdapter();

        DataSet dataSet = new DataSet();


            using (SqlCeConnection connection = new SqlCeConnection(connectionString))
            using (SqlCeCommand query = new SqlCeCommand(selectString, connection))
            {
                connection.Open();

                string dataTableName = "Artikels";

                sqlDataAdapter.SelectCommand = new SqlCeCommand(selectString);


                DataTable dataTable = dataSet.Tables[dataTableName];

                listboxGeselecteerd.DataSource = dataSet.Tables[dataTableName];
                listboxGeselecteerd.ValueMember = "[Artikelnummer]";
                listboxGeselecteerd.DisplayMember = "[Omschrijving]"; 

                connection.Close();
            }

    }

我没有收到任何错误,但在调试时我发现DataTable dataTable = dataSet.Tables[dataTableName];没有发生任何事情。

我用谷歌搜索了它,但我读过的没有提到选择多列。

顺便说一句,我正在使用VS2010。

1 个答案:

答案 0 :(得分:1)

您好像忘记调用Fill方法:

sqlDataAdapter.Fill(dataSet);