0

前回の質問では役に立たなかったので、さらに別の質問をする必要があります。

状況:

ローカルの SQLCE データベースがあります。2 つのテーブルが含まれています。「Artikels」と「Leggers」(オランダ語の名前は気にしないでください。状況は変わりません)。クエリを実行するテーブルには、「Artikelnummer」、「Omschrijving」、「Legger」、および「Voorraad」という列があります。

私がしたいこと:

"Artikelnummer" と "Omschrijving" についてテーブル "Artikels" をクエリし、それを CheckedListbox に表示します。できれば 2 つの別々の列 (または、複数で機能しない場合は 1 つだけ) を使用します。

ここのチュートリアルと回答からまとめたコード:

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 に答える