为什么我的update没有反映?

ayiiq180 2005-10-31 11:08:32
代码如下,conn是连接字符串,连接没有问题,语句也都对,但是整个过程执行后数据库根本没有更新,单独执行语句都可以正常执行。
Dim strupdate = "update aa set bb=3 where id=1"
Dim strsql = "select * from aa"
Dim myDataAdapter As New SqlDataAdapter
Dim myDataSet As New DataSet
Dim TableName As String
Dim a() As String

a = strSQL.Split(" ")
TableName = a(3)

myDataAdapter.SelectCommand = New SqlCommand(strsql, Conn)
Dim custCB As SqlCommandBuilder = New SqlCommandBuilder(myDataAdapter)
myDataSet.Tables.Add(TableName)
myDataAdapter.Fill(myDataSet, TableName)
myDataAdapter.UpdateCommand = New SqlCommand(strupdate, Conn)
Try
myDataAdapter.Update(myDataSet, TableName)
'myDataSet.Tables.Remove(TableName)
Catch er As Exception
MsgBox(er.ToString)
End Try
请教这是为什么?
...全文
243 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayiiq180 2005-10-31
  • 打赏
  • 举报
回复
这个我明白,我只是想知道如果想用指定updatecommand的DataAdapter如何更新dataset?既然提供了应该就可以用啊
pxjhy 2005-10-31
  • 打赏
  • 举报
回复
就是这件情况,根本不需要用DataAdapter。
直接用
Dim mycomm As New SqlClient.SqlCommand(strupdate, Conn)
mycomm.ExecuteNonQuery()
数据就更新了。

如果用数据集。你应该先将数据写到数据集里面,然后将数据集进行更新。
ayiiq180 2005-10-31
  • 打赏
  • 举报
回复
那应该怎么写呢?
pxjhy 2005-10-31
  • 打赏
  • 举报
回复
照你这样子。
myDataAdapter.UpdateCommand = New SqlCommand(strupdate, Conn)
就没有用了。
pxjhy 2005-10-31
  • 打赏
  • 举报
回复
是一样的啊。
但你下句中的TableName
myDataAdapter.Update(myDataSet, TableName)
中的内容没有任何变化啊。
ayiiq180 2005-10-31
  • 打赏
  • 举报
回复
两个名是一致的啊
pxjhy 2005-10-31
  • 打赏
  • 举报
回复
myDataAdapter.UpdateCommand = New SqlCommand(strupdate, Conn)
Try
myDataAdapter.Update(myDataSet, TableName)
'myDataSet.Tables.Remove(TableName)
Catch er As Exception
MsgBox(er.ToString)
End Try
这一段有问题。
在strupdate中你已经指定了表名。

在 myDataAdapter.Update(myDataSet, TableName)中你又更换了。
当然无法实现了。

16,554

社区成员

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

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