2011-10-24 27 views
0

因爲我最後一個問題沒有返回任何有用的東西,所以我將不得不再問另一個問題。如何使用SQLCE數據庫中的多列執行SELECT?

局勢:

我有一個本地的SQLCE數據庫。它包含2個表格; 「Artikels」和「Leggers」(別介意荷蘭人的名字,不會改變這種情況)。我要查詢的表格有「Artikelnummer」,「Omschrijving」,「Legger」和「Voorraad」等欄目。

我想要做什麼:

查詢表「Artikels」爲「產品編號」和「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

你的意思是「什麼都沒發生」?是'dataSet.Tables [dataTableName]''null'? – svick

+0

的確,DataTable爲空 –

+0

我回答你過去的問題檢查它 – Rafael

回答

1

它看起來像你忘了調用Fill方法:

sqlDataAdapter.Fill(dataSet); 
+0

究竟應該在哪裏? –

+0

打開連接並設置「SelectCommand」後。 –

+0

好吧,明白了。現在它跳過了該函數中的所有代碼。 –

相關問題