使用DataAdapter,感觉很怪异!

QQQQXSH 2005-08-26 04:17:06
我编写了一个测试dataadapter的小函数,发现有问题的说,我看了半天觉得没错,
只能请教各位错在哪里了,望请指教,不胜感激~~~
----------------------
Dim oDBCommand As Data.OleDb.OleDbCommand
oDBCommand = New OleDb.OleDbCommand("select num,myline from test", DBConn)

Dim da As Data.OleDb.OleDbDataAdapter
da = New OleDbDataAdapter(oDBCommand)
'da.SelectCommand = oDBCommand

Dim cb As OleDbCommandBuilder = New OleDbCommandBuilder(da)
da.UpdateCommand = cb.GetUpdateCommand
da.DeleteCommand = cb.GetDeleteCommand
da.InsertCommand = cb.GetInsertCommand

If DBConn.State = ConnectionState.Closed Then
DBConn.Open()
End If

Dim ds As Data.DataSet = New DataSet
da.Fill(ds, "test")


Dim dr As DataRow
Console.WriteLine(ds.Tables(0).TableName)

Dim i As Long
For i = 1 To 2
dr = ds.Tables.Item(0).NewRow()
dr(0) = i
dr(1) = i.ToString()
ds.Tables(0).Rows.Add(dr)
Next i

ds.AcceptChanges()
ds.WriteXml("ds.xml") '这里输出正确,具体看下面内容

da.Update(ds, "test")

------------------------------
access数据库,表结构就只两列:num(int),myline(text)
运行后,什么错误也没提示,通过ds.xml显示dataset有数据,好像没错,而数据库test表(原来为空)还是为空,很是奇怪!
下面使ds.xml的具体内容:
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<test>
<num>1</num>
<myline>1</myline>
</test>
<test>
<num>2</num>
<myline>2</myline>
</test>
</NewDataSet>
...全文
93 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQQQXSH 2005-08-26
  • 打赏
  • 举报
回复
不错不错,主要是ds.AcceptChanges()要放后面!
我被da.Update(ds,"test")误导了,嗨!
伴老思源 2005-08-26
  • 打赏
  • 举报
回复
up
3tzjq 2005-08-26
  • 打赏
  • 举报
回复
For i = 1 To 2
dr = ds.Tables.Item(0).NewRow()
dr.BeginEdit()

dr(0) = i
dr(1) = i.ToString()

dr.EndEdit()

ds.Tables(0).Rows.Add(dr)
Next i

'ds.AcceptChanges() 要放后面
ds.WriteXml("ds.xml") '这里输出正确,具体看下面内容

da.Update(ds, "test")
ds.AcceptChanges()
QQQQXSH 2005-08-26
  • 打赏
  • 举报
回复
试了一下,数据库还是更新不了,情况完全一样啊
3tzjq 2005-08-26
  • 打赏
  • 举报
回复
Dim cb As OleDbCommandBuilder = New OleDbCommandBuilder(da)'已经够了
'da.UpdateCommand = cb.GetUpdateCommand
'da.DeleteCommand = cb.GetDeleteCommand
'da.InsertCommand = cb.GetInsertCommand

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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