用DataTable更新数据库???

som5 2005-03-08 09:00:25
已经存在共享的SQLConnection(conn)和 SQLDataAdapter(adapter)


Dim dt as new DataTable
Dim Dt_tmp as new DataTable

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Query_sql = "select * from TableA"
conn.open()
dt.Clear()
adapter.SelectCommand = New SqlClient.SqlCommand(Query_sql, conn)
adapter.Fill(dt)
DataGrid1.DataSource = dt

End Sub


Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
DataGrid1
If conn.State = ConnectionState.Open then
Else
conn.open()
End If

' dt_tmp = dt_c_user.GetChanges(DataRowState.Modified)
adapter.Update(dt) '这个怎么不管用啊,
conn.Close()
End Sub

点btnSave,数据库无更新.
原因出在哪了???

...全文
326 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
som5 2005-03-08
  • 打赏
  • 举报
回复
Me.BindingContext(dt).EndCurrentEdit()
就是它呀,哈哈,VS.net目录\SDK\v1.1\QuickStart\winforms\samples\data\update\vb\下有这么个例子。我照着重做了简单的试了试,解决了。
其实,我是Form中的DataGrid和几个Textbox共同绑定到同一个DataTable上,DataGrid不可修改,利用TextBox来修改并更新数据库。
没有这句话,Me.BindingContext(dt).EndCurrentEdit() 按前边那些可以实现在Datagrid中修改保存数据库,但TextBox中修改则不能保存更新。

谢谢大家!
明天还会给大家送分的,哎谁叫偶太菜,老师们别嫌我缴的学费少啊~~~~~~~
henrysap 2005-03-08
  • 打赏
  • 举报
回复
只设置了查询语句,没有其他语句,所以只有查询功能,不会有UPDATE
DELETE和INSERT功能的
junwhj 2005-03-08
  • 打赏
  • 举报
回复
试试先调用下面的语句再Update:

Me.BindingContext(dt).EndCurrentEdit()
tttt0945 2005-03-08
  • 打赏
  • 举报
回复
使用commandbuilder来生成更新逻辑
  • 打赏
  • 举报
回复
如果使用DataAdapter更新数据库,你的DataAdapter中除了有SelectCommand外,还要有InsertCommand、UpdateCommand和DeleteCommand,否则是无法更新到数据库的。
可以使用CommandBuilder为DataAapter生成这三个Command
hamadou 2005-03-08
  • 打赏
  • 举报
回复
dim table as datatable = dt.GetChanges
adapter.update(table)
adapter.fill(dt)'刷新
som5 2005-03-08
  • 打赏
  • 举报
回复
很奇怪,修改了一条记录,点保存,重新load窗体,数据无更新。
如果,修改了一条记录,点保存,再修改下另一条记录,然后保存,重新load窗体,第一次修改的记录数据更新了,第2次修改的没更新,。晕
som5 2005-03-08
  • 打赏
  • 举报
回复
我把那些自动生成的 updatecommand,insertcommand,deletecommand,selectcommand都复制过来,怎么有时能更新,后来又更新不了了??

16,557

社区成员

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

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