各位大哥大姐请帮帮忙看看数据删除怎么实现?

bhzhang1129 2004-04-28 12:05:03
VB.NET连接ACCESS数据库问题,对着教材做一个例子,可是在数据删除时又出现问题:

下面是我的程序:


Dim Adocmd As OleDbDataAdapter
Dim ds As DataSet = New DataSet
Dim mytable As Data.DataTable
Dim myrow As Data.DataRow
Dim rownumber As Integer
Dim sqlstr As String
Dim newrow As DataRow

删除记录:
sqlstr = "select * from customer"
Adocmd = New OleDbDataAdapter(sqlstr, "Provider=Microsoft.Jet.OLEDB.4.0;Data source=c:\Xtreme1.mdb")
Dim dbbuiler As New OleDb.OleDbCommandBuilder(Adocmd)

Adocmd.Fill(ds, "customer")
mytable = ds.Tables("customer")
rownumber = 0
myrow = mytable.Rows.Item(rownumber)

myrow.Delete()
Adocmd.Update(ds, "customer")




执行Adocmd.Update(ds, "customer")时就发生如下错误:


未处理的"System.InvalidOperationException"类型的异常出现在system.data.dll中。
其它信息: Update requires a valid DeleteCommand when passed DataRow collection with deleted rows.
请各位过来人帮小弟看看,谢谢啦!

另外,如果我想删掉整张表的所有记录,又该如何实现啊?



...全文
22 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
minajo21 2004-04-28
  • 打赏
  • 举报
回复
ds.Tables("customer")).Clear()
minajo21 2004-04-28
  • 打赏
  • 举报
回复
' Create the DeleteCommand
Dim parm As SqlParameter
cmd = New SqlCommand("DELETE FROM Customers WHERE CustomerID = @CustomerID", conn)

parm = cmd.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID")
parm.SourceVersion = DataRowVersion.Original

Adocmd.DeleteCommand = cmd
kexian 2004-04-28
  • 打赏
  • 举报
回复
Adocmd.Fill(ds, "customer")
mytable = ds.Tables("customer")
rownumber = 0
myrow = mytable.Rows.Item(rownumber)

myrow.Delete()
Adocmd.Update(ds, "customer")
-->改為
Adocmd.Fill(ds, "customer")
rownumber =0
myrow=ds.tables("Customer").row(rownumber)
ds.tables("Customer").rows.remove(myrow)
Adocmd.Update(ds, "customer")

数据表中必须设置主键
LiJoe 2004-04-28
  • 打赏
  • 举报
回复
Dim dbbuiler As New OleDb.OleDbCommandBuilder(Adocmd)

运用OleDbCommandBuilder自动生成DeleteCommand、UpdateCommand、InsertCommand
的时候,数据表中必须设置主键
LiJoe 2004-04-28
  • 打赏
  • 举报
回复
Dim dbbuiler As New OleDb.OleDbCommandBuilder(Adocmd)

运用OleDbCommandBuilder自动生成DeleteCommand、UpdateCommand、InsertCommand
的时候,数据表中必须设置主键

16,554

社区成员

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

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