检查sql server数据库中是否存在行,然后使用vb.net删除

时间:2014-02-07 15:11:01

标签: sql sql-server vb.net

问题: 我目前正在使用vb应用程序(Visual Studio 2012)来查询我的数据库(SQL Server 2012)以检查表中是否存在该行该行确实存在然后删除它。但是,如果它不存在,则将该行添加到数据库中。

其他信息: 我的vb应用程序上有文本框和数据。此数据将保存到数据库中。

我已经编写了代码,似乎无法在代码行中找到错误。 请找到下面的代码!

代码:

cmd2.CommandText = 
 "IF EXISTS(SELECT * FROM(tblLocation) WHERE Tag_ID = '" 
 & txttags.Text 
 & "') THEN (DELETE FROM tblLocation WHERE Tag_ID = '" 
 & txttags.Text 
 & ")' ELSE INSERT INTO tblLocation([Area], [Area_Time], [TagID]) VALUES('" 
 & txtLocation.Text & "' , '" 
 & txtdate.Text & "','" & txttags.Text & "')"

非常感谢任何帮助或建议!

1 个答案:

答案 0 :(得分:1)

删除DELETE语句之前/之后的括号,如下所示:

cmd2.CommandText = 
    "IF EXISTS(SELECT * FROM tblLocation WHERE Tag_ID = '" 
    & txttags.Text 
    & "') DELETE FROM tblLocation WHERE Tag_ID = '" 
    & txttags.Text 
    & "' ELSE INSERT INTO tblLocation([Area], [Area_Time], [TagID]) VALUES('" 
    & txtLocation.Text & "' , '" 
    & txtdate.Text & "','" & txttags.Text & "')"