这可能是一个非常简单的问题。
但我无法修复它。 如果 @ID = 列 id,我尝试更新,否则插入全部。
如果我把所有内容都放在一句话中,只有这个不起作用
Cmd.CommandText = "UPDATE Locatie SET (Longitude = @Longitude, Latitude = @Latitude, Timestamp = @Timestamp) WHERE ID=@ID IF @@ROWCOUNT=0 INSERT INTO Locatie VALUES (@ID, @Longitude, @Latitude, @Timestamp)"
最佳答案
这应该可以正常工作
Cmd.CommandText = "IF EXISTS (SELECT 1 FROM Locatie WHERE Id = @Id) " & Environment.NewLine & _
" BEGIN UPDATE Locatie SET Longitude = @Longitude, Latitude = @Latitude, Timestamp = @Timestamp WHERE ID=@Id END " & Environment.NewLine & _
"ELSE " & Environment.NewLine & _
" BEGIN INSERT INTO Locatie VALUES (@ID, @Longitude, @Latitude, @Timestamp) END "
尽管使用存储过程可能会更好(为了可维护性)。
关于sql-server - vb.net 中的 SQL Server 命令不起作用,原因全部在一句话中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13178360/