检查vb.net中是否存在SQL Server数据库

问题描述:

我有一个程序可以加载数据库文件,但只能将数据插入到新表中。我的问题是如何检查数据库文件是否与数据库中插入的数据库文件相同,如何拒绝它,只是给出一个消息“数据存在”。检查vb.net中是否存在SQL Server数据库

我的计划是创建一个if exists查询,但它似乎不起作用或者我的代码不起作用。顺便说一下这个表没有id /主键。

"IF EXISTS(SELECT COUNT(*) FROM TABLE1) " & vbCrLf & 
"BEGIN" & vbCrLf & 
    "SELECT * FROM TABLE1" & vbCrLf & 
"END" & vbCrLf & 
"ELSE" & vbCrLf & 
"BEGIN" & vbCrLf & 
    "INSERT INTO TABLE1 SELECT * FROM TABLE1_TEMP" & vbCrLf & 
"END" 
+0

欢迎来到Stack Overflow!有关编写优秀问题的提示,请访问[如何提问](https://*.com/help/how-to-ask)。如果您对该网站有任何疑问,可以访问[帮助中心](https://*.com/help)或访问[元堆栈溢出](https://meta.*.com/) – CodingNinja

+0

https: //*.com/questions/108403/solutions-for-insert-or-update-on-sql-server – andy

如果您没有主键,那么您应该选择将作为您的密钥的字段,然后将其与您要插入的新数据进行比较。

例如:

INSERT INTO DB 

SELECT 'a','b' FROM DB 

WHERE field1 + field2 <> 'a' + 'b' 

这将检查DB(Field 1和域2)相同的数据,你要插入一个b,如果没有那么一个b会被插入

note:如果您的字段是整数,那么您应该先将它转换为字符串。