这更像是一个理解/澄清问题,而不是技术问题。我目前正在尝试将一些数据从数据库绑定到ComboBoxList。
数据库是SqlCe类型。它被称为voodoobase.sdf。它在服务器资源管理器中列出,并列出其所有表。
Q1 )将下拉列表ComboBoxList绑定到数据库中的数据的正确步骤是什么?
您是否需要浏览数据源?
什么是模型容器?
我已经习惯了PHP / MySQL,只需连接即可自行完成。如果您有任何明确的联系或能够以人类可读的方式回答这个问题,我将不胜感激。
我已经接近将这一切搞清楚了,但我想我需要把它们放在一起。
Q2 )数据库设计并作为DBModel.edmx在解决方案资源管理器中提供。如果我在这里进行更改并“从模型生成数据库”它似乎更新数据库(这是好的)但数据源不会随之更新? < - 这是一个正确的功能吗?
我知道这是一个罗嗦的问题,但是如果你能澄清这一点会让我开心=))
答案 0 :(得分:1)
<强> Q1 强>:
这可能是一种相当迂回的方式,但这就是我为组合框做的方式:
为数据库创建数据集(当我添加我的sqlce db时,我选择在向导中添加一个自动弹出的数据集)
双击打开数据集
从“服务器资源管理器”中创建表格&amp;根据需要编辑您的数据,然后拖放将表格放到数据集设计器
打开您的Windows窗体的设计视图,并从“数据源”(其中应包含您的数据集)中,拖放&amp; amp;将您希望在此表格中显示的某些字段放到表单上(例如姓名,姓氏,年龄,性别等)。然后,Visual Studio将自动添加以下对象(在设计视图的底部可见):dataset,bindingsource,表适配器和表适配器管理器。
现在添加要绑定到此表的Combobox(例如“cboName”)
在Form_Load事件的代码隐藏中,按如下方式绑定它: cboName.DataSource = myTableBindingSource; cboName.DisplayMember =“姓名”; //将绑定到“名称”列
那应该是它。现在,当应用程序运行时,您将能够从组合框中按名称选择人员,并且他们的详细信息将相应地显示在您在表单上删除的其他控件中。我对此仍然很陌生,所以可能有更好的方法。但到目前为止这对我有用:)。不幸的是,我不确定模型容器是什么。
<强> Q2:强>
我不确定edmx数据库模型。我的数据库是一个sdf文件,我的数据集是一个xsd文件,我通过服务器资源管理器编辑我的数据库。
...但是非常重要的是,您的“设计”数据库不是您的应用程序在运行时使用的数据库。去检查你的bin文件夹 - 在那里你会找到你的app运行的db。 (使用SQLCE,设计中的数据库与使用的数据库分离,您必须在设计或数据中进行更改后在bin文件夹中手动更新(复制粘贴覆盖)数据库。)
请注意,您的“数据源”就像是数据库的地图。如果您的数据库更改没有反映出来,您将不得不更新(再次拖放您的表)...或重新创建数据源(例如您的数据集)。