因为我的上一个问题没有回复任何有用的东西,我将不得不再问一个问题。
情况:
我有一个本地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。
答案 0 :(得分:1)
您好像忘记调用Fill
方法:
sqlDataAdapter.Fill(dataSet);