什么';在VB.NET中更新或插入SQL记录的最佳(简单)方法是什么
我一直在摸索着用SQL database access编写我的第一个应用程序,我一直在使用system.data.sqlclient.sqlcommand处理单个命令,并执行类似以下操作:什么';在VB.NET中更新或插入SQL记录的最佳(简单)方法是什么,sql,sql-server,vb.net,sqlcommand,upsert,Sql,Sql Server,Vb.net,Sqlcommand,Upsert,我一直在摸索着用SQL database access编写我的第一个应用程序,我一直在使用system.data.sqlclient.sqlcommand处理单个命令,并执行类似以下操作: SQLCmd.CommandText = ("DELETE from ContactRelationships WHERE ID = 'someid'") SQLCmd.ExecuteNonQuery() 或将更改存储在表单上,然后保存或取消更改: Dim x As New SqlCommand("DELE
SQLCmd.CommandText = ("DELETE from ContactRelationships WHERE ID = 'someid'")
SQLCmd.ExecuteNonQuery()
或将更改存储在表单上,然后保存或取消更改:
Dim x As New SqlCommand("DELETE from SharedDataLocations where Location = @Loc and UserID= @UID ;--", cnn)
x.Parameters.Add("@Loc", SqlDbType.NVarChar, 300).Value = strRemDLoc
x.Parameters.Add("@UID", SqlDbType.Int).Value = UserID
PendingSQLChanges.Add(x)
'followed later by
For x = 0 To PendingSQLChanges.Count - 1
PendingSQLChanges(x).ExecuteNonQuery()
Next
PendingSQLChanges.Clear()
我还没有解决过比这更复杂的问题,但我愿意学习。我现在需要做的是获取当前员工记录的id,查看它是否已在StaffManager关系表中设置,并使用刚刚从manager表中选择的id进行更新,或者如果以前未设置经理,则创建该记录。此时,staff和manager ID都存储在表单变量中,因此可以直接插入到任何SQL命令中
我见过各种方法可以做到这一点,比如在SQLCmd.commandtext中添加多行(虽然我不确定其格式),但我不知道这是一个万无一失的解决方案,还是容易出现问题,或者它是否可以工作
如果不把我目前的经验扩展太多(或者给我一个更复杂的东西的深入解释),我如何才能最好地完成这一点?我不确定这是否会有帮助,但是,我的VB.NET SQL代码中也有类似的东西。我所做的是使用IF-THEN语句检查记录是否存在。如果没有记录,则将使用新的UID插入该记录,但如果UID已存在,则将进行更新
Public Class YourForm
Private UniqueID as Integer
Private Sub
If AddRecord Then
SQLCmd.CommandText = "INSERT into YourTableName (YourColumnName1,YourColumnName2) values (" & _
"'" & YourTextBox.Text & "')")
Else
RunSql ("Update YourTableName set YourColumnName='" & YourTextBox.Text & "')" & _
" where YourUID=" & UniqueID)
End Sub
End Class
也许您需要。看看SQL存储过程。