看来,我正在与一个顽固的 VS2008 DataSet 设计师作斗争。我一直在尝试做一个看似简单的 2 表数据集解决方案,其中一个表只是存储在另一个表中的整数值的文本含义。基础数据设计 101.
Table1
CharField1
CharField2
IntForeignKeyField1
etc
Table2
IntPrimaryKey1
ValueForKeyField
这并没有真正影响我遇到的问题,我不相信,因为我不想做任何事情,只是从第二个表中读取值,所以我可以在客户端的 DataGridViewComboBoxColumn 中选择它们——我会永远不要在客户端上编辑它们。但是,我离题了。
由于它存在于 Web 服务中,并且我希望将强类型数据集交付给该 Web 服务的客户端,因此我决定使用 DataSet Designer 来构建 TableAdapters 和所有管道,认为它可能会减少工作量并且更容易维持。
因此,我创建了漂亮的框并编辑了选择语句,指示设计人员创建所有插入、更新和删除命令以供表适配器使用。它高兴地答应了,告诉我一切都按照我的要求完成了。
但是,当我尝试使用 Update 语句时,我收到一条错误消息,指出没有有效的 Update 语句!在网上搜索有类似问题的人无果后,我深入研究了数据集的 XML。果然,没有 Update 语句,也没有 Delete 语句。
我尝试从项目中完全删除并重新创建 DataSet,结果相同。没有创建更新或删除语句,即使它被报告为已完成。
我最终通过检查来自另一个项目的另一个设计数据集手动构建了更新语句 XML,因此 Web 服务现在可以正常工作。但是,我不相信我的更改会持续通过设计师发起的编辑,我很难理解为什么它不起作用。有任何想法吗?
感谢您的任何反馈,戴夫