DataGridView的更新问题,急!急!急!

九章落地 2007-03-07 12:06:06
我的页面上只有一个DataGridView和一个Button,想通过OleDbDataAdapter.Update更新ACCESS表里的值,不知我的代码错在那里,一直不能更新效果,请高手帮忙!
我的代码:
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.Odbc
Public Class Form1

Dim objConn As New OleDbConnection
Dim objAdap As OleDbDataAdapter
Dim objDs As New DataSet
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim db As New DB
objConn = db.CreateCon() '这里创建一个连接

Dim strSql = "Select * From test"
objAdap = New OleDbDataAdapter(strSql, objConn)

Dim builder As OleDbCommandBuilder
builder = New OleDbCommandBuilder(objAdap)

objAdap.Fill(objDs, "tt")
DataGridView1.DataSource = objDs.Tables("tt")
objConn.Close()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'点击按钮更新
objAdap.Update(objDs, "tt")
objDs.AcceptChanges()
objConn.Close()
MessageBox.Show("Update OK")
End Sub
End Class

...全文
216 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
magicbacon 2007-03-07
  • 打赏
  • 举报
回复
好的,==,我写写.
九章落地 2007-03-07
  • 打赏
  • 举报
回复
我的Test表里只有3个字段:ID,Name,Des....

希望得到各位高手的帮忙!
谢谢!
九章落地 2007-03-07
  • 打赏
  • 举报
回复
谢谢magicbacon!
除了连接数据库之外,我已经把所有的代码都帖出来了!

我看MSDN里介绍,通过OleDbCommandBuilder(objAdap)可使得OleDbDataAdapter生成相应的UpdateCommand和InertCommand?!

呵呵,之前都是做C#+B/S开发,现在用vb.net做C/S还没上手,弄了一个早上都搞不出来,苦啊!

magicbacon 2007-03-07
  • 打赏
  • 举报
回复
您的更新所用的SQL语句写了么就是以"Insert …"、"Update …"和"Delete …"开头的那些,新建CommandString为这些的SqlDbCommand,然后分别加到objAdap的InsertCommand、UpdateCommand和DeleteCommand中,这样你的更新才会被添加到数据库中,要不然都是在DataSet中完成的,不能影响数据库。
如果lz能贴多一点代码,尤其是记录的字段,我可以写一些代码给lz参考参考。
magicbacon 2007-03-07
  • 打赏
  • 举报
回复
那为什么又塞给我这50分?晕,我没帮上忙的.
九章落地 2007-03-07
  • 打赏
  • 举报
回复
呵呵,搞了半天,才发现,放在bin\Debug的数据库已经起作用,而我一直看到工程下的数据库没改变...

这是我2007闹的第1大笑话!

晕死了!!!!
magicbacon 2007-03-07
  • 打赏
  • 举报
回复
晕,我说错了.lz这样做试试:在

'点击按钮更新

这一句下面增加一句

Dim b As OleDbCommandBuilder = New OleDbCommandBuilder(objAdap)

然后再Update,就行了.可能是你把

Dim builder As OleDbCommandBuilder
builder = New OleDbCommandBuilder(objAdap)

这两句放错位置了.
九章落地 2007-03-07
  • 打赏
  • 举报
回复
高手呢?????
magicbacon 2007-03-07
  • 打赏
  • 举报
回复
帮不上了,晚上有空再帮你看吧.

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧