關于在dataSet中自動生成的fill,getData()的一個怪問題??急,急,急
我用的是VB 2005.数据库是mysql
碰到一个这样的怪问题,就是在dataset中
拖放一个dataAdapter> > > 连接到mysql数据库> > >
在查询生成器中添加一个表> > > 然后自动生成
填充dataTable 的 Fill方法和返回dataTable
GetData方法,但是在高级选项中选中的生成的Insert,Update和
Delete语句在整个的过程结束后又变成了没有选中的状态,
这到底是什么原因呢,因为如果不能自动生成Insert,update
和Delete语句的话,
在程序更新的时候程序代码中的
Me.Validate()
Me.CustomersBindingSource.EndEdit()
Me.CustomersTableAdapter.Update(Me.NorthwindDataSet.Customers)
就会报错,弹出 "update 不是dataset.DataAdapter的成员 "的提示.
试了好多次还是不行,不知道是什么原因?
[解决办法]
如果操作的表没有主键 dataAdapter不能生成 Insert,update和Delete语句
[解决办法]
对,如果数据库中的table没有主键dataAdapter不能生成 Insert,update和Delete语句
[解决办法]
跟踪一下DataAdapter,看DataAdapter里的UpdateCommand是不是nothing
[解决办法]
没用过拖拽,insert ,delete,update 得使用commandbuilder配合dataAdapter使用,GetData返回查询结果,而你的insert ,delete,update语句就可能出现问题