使用DataAdapter,感觉很怪异!
我编写了一个测试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>