【发布时间】:2014-08-05 13:35:00
【问题描述】:
我正在尝试使用数据集中的表更新 sql server。 当我像下面的示例一样加载 2 个表时,它的工作非常好,首先是表 1 - 然后是表 2。 但是如果我在表 1 之前加载表 2 - 我会收到一条错误消息。 似乎更新命令只影响加载到数据集的最后一个表。
解决办法是什么?
错误信息: “附加信息:在 DataTable 'Cities' 中缺少 SourceColumn 'ProjectName' 的 DataColumn 'ProjectName'。”
Public da As New SqlDataAdapter
Public ds As DataSet = New DataSet()
Public cn As SqlConnection
Public SQLCommand As SqlCommand
Private Sub loadPart()
Dim strConnection As String = "Server=MY-PC\SQLEXPRESS;Database=BooKKeeping;Trusted_Connection=True;"
cn = New SqlConnection(strConnection)
Dim strSelect As String
Dim CommandBuilder As New SqlCommandBuilder(da)
'// PART 1 - LOAD TABLES TO DATASET
cn.Open()
'// LOAD TABLE 1
strSelect = "SELECT * FROM Projects"
SQLCommand = New SqlCommand(strSelect, cn)
da.SelectCommand = SQLCommand
da.Fill(ds, "Projects")
'// LOAD TABLE 2
strSelect = "SELECT * FROM Cities"
SQLCommand = New SqlCommand(strSelect, cn)
da.SelectCommand = SQLCommand
da.Fill(ds, "Cities")
cn.Close()
'// PART 2 - ADD NEW RECORDS
Dim row As DataRow = ds.Tables("Cities").NewRow()
row("City") = "A"
ds.Tables("Cities").Rows.Add(row)
'// PART 3 - UPDATE SERVER
cn.Open()
da.Update(ds, "Cities")
cn.Close()
End Sub
【问题讨论】:
标签: .net sql-server vb.net