OleDbDataAdapter 的update方法无法更新数据库,插入的时候没有问题,更新的时候也不报错,方法如下:

2020-05-22 科技 143阅读
Builder自动生的sql中,所有你传的变量在 Builder 的 updateText属性 中都是问号的。
Me.DataSet1.Tables(0).AcceptChanges()时,更新不进去,可能有三种原因有的列名是sql关键字:
1、Me.OleDbDataAdapter1的问题,获得数据源的适合器和更新数据的适配器不是同一个。此种情况的解决方法是:取数据、更新数据都用同一个OleDbDataAdapter
2、更新数据库时,更新的列名是数据库关键字,比如你的数据库有一个叫User的列名,如果要更新User这个字段的时候,就会报异常。此种情况的解决方法是:初使化Builder时加如下两句
theBuilder.QuotePrefix = "[";
theBuilder.QuoteSuffix = "]";
3、更新的数据类型和数据库中对应列的类型不匹配,比如你要更新的列为 [User],它的类型为int,但是你要更新的数据是string类型赋过去的,就会报异常了,此种情况解决方法是:将类型统一.
补充:你可以试着断点看看更新之前更新的数据源有没有相对更新
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com