我有一个 VB.net 脚本,可以将信息放入 MSSQL 数据库中的表中。
我设法仅使用 datagridview 来更新数据。
现在我试图弄清楚如何更新同一个表中的另一列,该列引用其他两列之间的计算。
对于该列(假设Column3
),我使用了这样的计算列规范属性:(Column1*Column2)。
无论如何,当我更新时,Column1
我想同时看到变化Column3
。
实际上的值Column3
正在改变,但在我重新启动调试之前它不会显示出来。
所以这是交易......我想同时看到这些变化。我应该使用什么样的代码?
我是初学者,所以我不知道可能性。
我应该为此使用触发器吗?如果我必须怎么做?(我尝试过Select Column1, Column2, Column3 as (Column1/Coulmn2) from Table1
然后从 datagridview 查看,但 id 也不起作用。我不记得它不起作用的确切原因)
(数据库名称:Database1,表名称:Table1,列:Column1,Column2,Column3)
代码:
Public Sub tryupdate(Query As String)
Try
sqlcon.Open()
sqlCmd = New SqlCommand(Query, sqlcon)
sqlDA = New SqlDataAdapter(sqlCmd)
Dim SqlCmdBuild As SqlCommandBuilder = New SqlCommandBuilder(sqlDA)
sqlDA.UpdateCommand = SqlCmdBuild.GetUpdateCommand()
sqlDA.Update(sqlDataset)
sqlcon.Close()
Catch ex As Exception
If sqlcon.State = ConnectionState.Open Then sqlcon.Close()
MsgBox(ex.Message)
End Try
End Sub
Private Sub dataset_fill()
sql.tryupdate("select * from [Quantities&Planning]")
DgwNewLayout.DataSource = sql.sqlDataset.Tables(0)
End Sub
Private Sub DgwNewLayout_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DgwNewLayout.CellValueChanged
dataset_fill()
End Sub