2015-11-08 111 views
-1

我正在尝试在VB中编写一个小的Customer/sales数据库。然而在编译时,我收到了主题中提到的错误。显然,数据库没有连接。类型System.Data.SqlClient的未处理的异常System.Data.dll中的SQL异常

这里是我到目前为止的代码:

Public Class Principal 
Using Connect As SqlConnection = 
Friend Sub CreateDatabase() 
New SqlConnection("Data Source=(local);" & 
"Integrated Security='SSPI';") 

Dim strCreateDatabase As String = "IF EXISTS (" & 
"SELECT name " & 
"FROM sys.databases " & 
"WHERE name = N'BMSTIDB'" & 
") " & 
"DROP DATABASE BMSTIDB; " & 
"CREATE DATABASE BMSTIDB" 

Dim Command As SqlCommand = 
New SqlCommand(strCreateDatabase, Connect) 

Connect.Open() 
Connect.ExecuteNonQuery() 

MsgBox("A Database with the name of " & 
"BMSTIDB has been created. ") 
End Using 

它编译罚款和它好好尝试显示任何错误或问题。但是,如上所述,它在运行时会首先尝试连接到数据库时发生错误。

我正在使用Visual Studio 2015 Enterprise和Community。

非常感谢,

BenjB

+0

您标记了这个“mysql”,但那些是Sql Server连接字符串和SqlCommand/SqlConnection类型。您需要完全不同的连接线和数据访问对象才能与MySql对话。 –

+0

感谢您的建议。编辑并添加了我做的其他更改。 – BenjB

+0

目前还不清楚你使用的是什么数据库引擎。这是一件大事,你应该在问题上加上正确的标签。 –

回答

0
New SqlConnection("Data Source=(local);" & 

“集成安全性= 'SSPI'; 数据库=主”)

+0

@ f0r3v3r-A-Noob感谢您的快速回复。我已经添加了'code'“Integrated Security ='SSPI'; Database = master”)'code'但它给出了相同的错误。 – BenjB

0

你在这里缺少一个右单引号:

"WHERE name = N'BMSTIDB" & 

应该是:

"WHERE name = N'BMSTIDB'" & 

一旦你解决,你会发现你还缺少BEGINEND关键字。

+0

谢谢,我固定那一个。错误仍然存​​在,并保持不变。我也试图把'(local)'改成'(localDB)'而没有成功。 – BenjB

+0

你能通过sql server management studio连接到数据库吗? –

相关问题