请原谅我的英语语法。
我目前正在编写一个系统,我想知道在服务器中创建数据库后是否可以建立新连接。
这是连接字符串:
Dim DBCon As SqlConnection = New SQLConnection("Data Source=(localdb)\DbLocal;Integrated Security=True")
如果我想创建一个数据库,我使用一个命令 - 数据库名称在一个文本框之后,它是这样的:
Dim dbName As String = txtdbName.Text
myCommand = "CREATE database " & dbName
数据库已创建,但在我开始创建表的查询后 - 该表不会保存在创建的数据库中。因此,以我在 VB.Net 和 MSSQL 方面的初学者技能,我推断这是因为我的连接字符串,所以我尝试弄乱它:
Dim myConnectionString As SqlConnection = New SqlConnection("Data Source=(localdb)\DbLocal;Database=" & dbName & ";Integrated Security=True;Pooling=False")
我在创建表查询之前写了上面的代码,但是我运行之后,我在查询中创建的表并没有进入数据库。我想知道是否有“正确”的方法来做到这一点。我尝试混合我在网上找到的不同代码,但它们产生相同的结果。
编辑:我的创建表查询:
myCommand = "CREATE TABLE tblPerson (PersonID int, LastName varchar(300), FirstName varchar(300), Address varchar(300), City varchar(300))"
我这样做的方法是在 CREATE TABLE 之前添加一个 USE 语句。所以 CREATE TABLE 命令看起来像这样:
"USE " & dbName & ";
GO
CREATE TABLE ..."
编辑:正如评论中所指出的,GO 分隔符不能在 .NET SQL 命令中使用。
相反,可以使用三部分命名来指定数据库,如下所示:
"CREATE TABLE " & dbName & ".dbo.MyTable ( ..."
或者使用允许使用 GO 分隔符的 SMO。该技术在此问题的公认答案中进行了详尽的描述。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句