回 帖 发 新 帖 刷新版面

主题:求助:vb.net开发ado.net,无法修改数据!!!!

各位大侠,菜鸟我初尝.net,想做点数据库编程,但是不幸困惑之至,看其它资料都是如此更新数据,为何到我这里却不行。看下面一段程序:


Dim strConnect As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\异重流数据库.mdb"
oleDbYzlConection = New OleDbConnection(strConnect)
oleDbYzlConection.Open()'打开数据库
oleDbYzlAdapter = New OleDbDataAdapter("select * from 断面", strConnect)
Dim ds As DataSet = New DataSet

oleDbYzlAdapter.Fill(ds, "dm")'设置表
ds.Tables("how").Rows(18).BeginEdit()'第18条记录断面名称为“河南”想修改为“黄河”
Dim strupdate As String = "UPDATE dm SET 断面名称='河南' WHERE 断面名称='黄河'"
Dim myCommand As OleDb.OleDbCommand = New OleDbCommand(strupdate, oleDbYzlConection)
[color=FF0000]myCommand.ExecuteNonQuery()'[/color]更改数据'到此处提示
ds.Tables("dm").Rows(18).EndEdit()
ds.Tables(0).Rows(18).AcceptChanges()

        '添加新的记录并赋值
        'Dim newRow As DataRow
        'newRow = ds.Tables(0).NewRow '一条新的记录,还没有添加到数据库中
        'newRow(1) = "黄河"
        'newRow(2) = 10
        'ds.Tables(0).Rows.Add(newRow) '往数据库中加入新的记录

oleDbYzlAdapter.Update(ds, "dm") '更新数据库
oleDbYzlConection.Close()
oleDbYzlConection = Nothing


问题出在myCommand.ExecuteNonQuery()一行,运行到此时,提示一对话框:
内容是————{未处理的system.data.oledb.oledbexception"类型的异常出现在“system.data.dll”中}。
为什么啊, 我看其他资料都是这么做的,为什么到我这里就行不能。
急盼各位大侠不吝赐教。


回复列表 (共2个回复)

沙发


    看了你发上来的程序,没什么错.但是你里面用的命名规则不规范,这样调试时容易引起一些不容易觉察的调试问题,我建议你把你做的项目里的命名规则规范一下,尽量避免用中文来命名,修改完后再调试一下!

板凳

经验: 只要是系统dll错误 大概都是sql的问题
叫我帮你看一下

我来回复

您尚未登录,请登录后再回复。点此登录或注册