更新Access数据库时,数据怎么始终无法写入数据库?
摸索两天了,实在抓狂。诚恳请教大家,为什么我的这一段写入数据库的代码,执行之后,数据库中的表还是空的?谢谢了!
'---参数定义-------------
Public MPCConn As New OleDb.OleDbConnection '
Public MPCDa As New OleDb.OleDbDataAdapter '
Public MPCComm As New OleDb.OleDbCommand '
Public MPCDs As New DataSet '
'------写入数据库便于校核-------
MPCConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & Application.StartupPath & "\WDataBase.accdb '"
MPCComm.CommandText = "Select * From 计算结果Load"
MPCComm.Connection = MPCConn
MPCDa.SelectCommand = MPCComm
MPCConn.Open()
MPCDa.Fill(MPCDs, "计算结果")
MPCDs.Tables("计算结果").PrimaryKey = New DataColumn() {MPCDs.Tables("计算结果").Columns("名称")} '设置主键
MPCDs.Tables("计算结果").Rows.Clear()'只保留表格式,内容重新写入
Dim dr As DataRow
For i = 0 To CLNum-1
dr = MPCDs.Tables("计算结果").NewRow()
dr("编号") = i
dr("名称") = CondLoad(i).LoadName
dr("符号") = CondLoad(i).LoadMark
dr("数值") = CondLoad(i).SpecificLoad
MPCDs.Tables("计算结果").Rows.Add(dr)
Next i
Dim scb As New OleDb.OleDbCommandBuilder(MPCDa)
MPCDa.Update(MPCDs, "计算结果")
MPCDs.AcceptChanges()
MPCConn.Close()
为什么上述这段代码,在执行之后,数据库中的表格没有反应,也就是说,“计算结果“这个表格没有能够传入带数据库中,数据库中的表还是空着的??
我也查了一下,MPCDs.Tables("计算结果")中是有数据的,具体用debug写了一下,是有数据的。
For i = 0 To CLNum - 1
Debug.Print(MPCDs.Tables("计算结果").Rows(i)("名称").ToString)
Next i
但是为什么
MPCDa.Update(MPCDs, "计算结果")
MPCDs.AcceptChanges()
这两句没有执行呢?或者说,为什么数据库里面结果没有变化呢??非常困惑,谢谢了!