先将表读到数据集中,填充好某一空列,再更新到数据库.空列列名为JHTRL 表名是T_MPS从表
代码如下 Dim Da As New SqlDataAdapter
Dim Ds As New DataSet
Dim myComm3 As New SqlCommand
Dim str As String
str = " select SQ ,SD ,RQ ,YCL ,DDL ,MXQL ,JHJSL ,KYKCL ,JXQL , JHCCL ,JHTRL ,KGXSL from T_MPS从表 where WLBM='" & ComboBox2.Text & "'"
myComm3.CommandText = str
myComm3.Connection = myConn
Da.SelectCommand = myComm3
Da.Fill(Ds)
If Ds.Tables(0).Rows.Count = 0 Then
MsgBox("数据库表的记录为空!")
Else
For i = 0 To Ds.Tables(0).Rows.Count - 2
Ds.Tables(0).Rows(i).Item("JHTRL") = Ds.Tables(0).Rows(i + 1).Item("JHCCL") / Val(TextBox10.Text)
Next
Dim cb As SqlCommandBuilder = New SqlCommandBuilder(Da) Da.UpdateCommand = cb.GetUpdateCommand()/ 运行时出现错误
对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成
Da.Update(Ds.Tables(0))
End If
myConn.Close()
代码如下 Dim Da As New SqlDataAdapter
Dim Ds As New DataSet
Dim myComm3 As New SqlCommand
Dim str As String
str = " select SQ ,SD ,RQ ,YCL ,DDL ,MXQL ,JHJSL ,KYKCL ,JXQL , JHCCL ,JHTRL ,KGXSL from T_MPS从表 where WLBM='" & ComboBox2.Text & "'"
myComm3.CommandText = str
myComm3.Connection = myConn
Da.SelectCommand = myComm3
Da.Fill(Ds)
If Ds.Tables(0).Rows.Count = 0 Then
MsgBox("数据库表的记录为空!")
Else
For i = 0 To Ds.Tables(0).Rows.Count - 2
Ds.Tables(0).Rows(i).Item("JHTRL") = Ds.Tables(0).Rows(i + 1).Item("JHCCL") / Val(TextBox10.Text)
Next
Dim cb As SqlCommandBuilder = New SqlCommandBuilder(Da) Da.UpdateCommand = cb.GetUpdateCommand()/ 运行时出现错误
对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成
Da.Update(Ds.Tables(0))
End If
myConn.Close()
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货