Как сделать SELECT с несколькими столбцами из базы данных SQLCE? - PullRequest
0 голосов
/ 24 октября 2011

Поскольку мой последний вопрос не дал ничего полезного, мне придется задать еще один вопрос.

Ситуация:

У меня есть локальная база данных 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 Ответ

1 голос
/ 24 октября 2011

Похоже, вы забыли вызвать метод Fill:

sqlDataAdapter.Fill(dataSet);
...