2011-06-01 69 views
1

這是一個理解/澄清問題,而不是技術問題。我目前正試圖將一些數據從數據庫綁定到ComboBoxList。c#將ComboBoxList綁定到SqlCe數據庫

該數據庫是一個SqlCe類型。它被稱爲voodoobase.sdf。它在服務器資源管理器及其所有表中列出。

Q1)將下拉ComboBoxList綁定到數據庫中的數據的正確過程是什麼?

您是否需要通過數據源?

什麼是模型容器?

我習慣於PHP/MySQL,你只需連接並自己完成。如果您有任何清晰的鏈接或能夠以人類可讀的方式回答這個問題,我將不勝感激。

我很接近這一切,但我想我只需要把它放在一起。

Q2)設計了數據庫,並將其作爲DBModel.edmx進入解決方案資源管理器。如果我在這裏進行更改,並且「從模型生成數據庫」似乎更新了數據庫(這很好),但數據源不更新它? < - 這是一個正確的功能?

我知道這是羅嗦的問題,但如果你能提供一些線索這清晰度會逗我開心=))

+0

你可能會得到更好的答案,將其分解爲多個問題?我在這個問題中計算2個編號和至少2個非編號問題:) – 2011-06-01 00:27:07

回答

1

Q1
這也許是一個相當迂迴的方式,但是這是我該怎麼辦它對於ComboBox:

  1. 創建數據庫中的數據集(當我將我的SQLCE分貝,我選擇的是自動彈出的嚮導中添加數據集)

  2. 通過它雙擊

  3. 從您的「服務器資源管理器」打開你的數據集,創建表&編輯您的數據根據​​需要,然後將&放下你的表/ s到DataSet設計

  4. 打開的窗戶表單的設計視圖,並從您的「數據源」(其中應包含數據集)中拖動,請將您希望顯示的此表的一些字段拖放到表單上(例如姓名,年齡,性別等)。然後,Visual Studio將自動添加以下對象(在設計視圖的底部可見):數據集,綁定源,表格適配器和表格適配器管理器。

  5. 現在添加您要綁定到該表(如「cboName」)

  6. 在代碼隱藏在Form_Load事件,將其綁定如下您的組合框: cboName.DataSource = myTableBindingSource; cboName.DisplayMember =「Name」; //將綁定到「名稱」列

應該是這樣。現在,當應用程序運行時,您可以從組合框中按名稱選擇人員,並且他們的詳細信息將在您放置在窗體上的其他控件中相應地顯示。我對此仍然很陌生,所以可能會有更好的方法。但到目前爲止,這對我有用:)。不幸的是我不確定模型容器是什麼。

Q2:
我不確定關於edmx數據庫模型。我的數據庫是一個sdf文件,我的數據集是一個xsd文件,我通過服務器瀏覽器編輯我的數據庫。

...然而,非常重要的是要知道,你的「設計」數據庫不是你的應用程序在運行時使用的數據庫。去檢查你的bin文件夾 - 在那裏你會發現你的應用程序運行的分貝。 (使用SQLCE,設計中的數據庫與使用的數據庫分離,並且必須在設計或數據發生更改後手動更新(複製粘貼覆蓋)bin文件夾中的數據庫。

請注意,您的「數據源」就像是數據庫的映射。您必須更新(再次拖放表格)...或重新創建數據源(例如您的數據集),如果您的數據庫更改沒有反映出來。