2011-06-01 79 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文件夹中的数据库。

请注意,您的“数据源”就像是数据库的映射。您必须更新(再次拖放表格)...或重新创建数据源(例如您的数据集),如果您的数据库更改没有反映出来。