0

因为我的最后一个问题没有返回任何有用的信息,我将不得不再问一个问题。

情况:

我有一个本地 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。

4

1 回答 1

1

您似乎忘记调用该Fill方法:

sqlDataAdapter.Fill(dataSet);
于 2011-10-24T18:16:44.950 回答