【发布时间】:2016-04-24 23:13:45
【问题描述】:
我found下面的查询是为了查明是否已经创建了一个数据库表:
if db_id('thedbName') is not null
--code mine :)
print 'db exists'
else
print 'nope'
现在我想在我的 VB.net 应用程序中使用相同的查询。这是我目前在其他地方连接到数据库的代码(我想在执行所有这些操作之前查看它是否存在):
Dim cn As SqlConnection = New SqlConnection("Data Source=DAVIDSDESKTOP;" & _
"Initial Catalog=thedbName;" & _
"Integrated Security=True;" & _
"Pooling=False")
Dim sql As String = "if db_id('thedbName') is not null " & vbCrLf & _
"Print() 'exists' " & vbCrLf & _
"else " & vbCrLf & _
"Print() 'nope'"
Dim cmd As SqlCommand = New SqlCommand(sql, cn)
cmd.Connection.Open()
Dim blah As String = cmd.ExecuteNonQuery()
cmd.Connection.Close()
当然,问题是我必须先知道数据库名称才能连接到数据库。
然后我似乎可以使用以下方法连接到 master 数据库:
Dim cn As SqlConnection = New SqlConnection("Data Source=DAVIDSDESKTOP;" & _
"Integrated Security=True;" & _
"Pooling=False")
Dim sql As String = "if db_id('thedbName') is not null " & vbCrLf & _
"Print() 'exists' " & vbCrLf & _
"else " & vbCrLf & _
"Print() 'nope'"
Dim cmd As SqlCommand = New SqlCommand(sql, cn)
cmd.Connection.Open()
Dim blah As String = cmd.ExecuteNonQuery()
cmd.Connection.Close()
但该查询似乎在 Dim blah As String = cmd.ExecuteNonQuery() of 上引发错误:
附加信息:')' 附近的语法不正确。
所以我不确定为了更正查询问题而遗漏了什么?
需要知道如何让查询返回并说“存在”或“不”
【问题讨论】:
-
您是否先在数据库上运行查询,然后再将其包含在代码中?
-
是的,使用 SQL 管理工作室,查询工作得很好。
-
@MrGadget 不适用,因为我还想返回“存在”或“不”。在其他帖子的链接中没有这种方式的解决方案。
-
应该只是
Print exists没有括号
标签: sql sql-server database vb.net sql-server-2012