2013-05-10 30 views
0

,并且我的服务器正在使用SQL Server 2012 Management Studio。现在我想连接到一个数据库并在运行时创建一个新表。 但我有问题。数据库不存在,但它存在于我的具有2D数据库的项目的

Database Not Exist

,但是当我检查我的位置。它存在并具有相同名称的..

这里是我的代码: enter image description here

Private Sub VBcreate() 
     Dim sqlcon2 As New SqlConnection(vbcon) 
     MainMenu.lblStatus.Text = "Creating Virtual Book" 
     sqlstr = ("USE [VIRTUALBOOK] " & _ 
        "GO() " & _ 
        "SET ANSI_NULLS ON" & _ 
     " GO() " & _ 
     "SET QUOTED_IDENTIFIER ON" & _ 
     " GO() " & _ 
    "CREATE TABLE [dbo].[" & tbEmail.Text & "](" & _ 
         "[ID] [ntext] NULL, " & _ 
    "[REMARKS] [NCHAR](6) NULL " & _ 
") ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]") 

     Try 
      sqlcon2.Open() 
      cmd = New SqlCommand(sqlstr, sqlcon2) 
      cmd.CommandType = CommandType.Text 
      cmd.ExecuteNonQuery() 
      sqlcon2.Close() 
      MainMenu.lblStatus.Text = "Command Saved to Server" 
     Catch ex As Exception 
      MsgBox(ex.Message) 
     Finally 
      sqlcon2.Close() 
     End Try 

    End Sub 
+1

你确定数据库是在同一台服务器上。请尝试获取同一连接上的数据库列表http://stackoverflow.com/questions/147659/get-list-of-databases-from-sql-server。你介意添加连接字符串吗? – IvanH 2013-05-10 07:12:56

+1

你需要检查你的连接字符串,但我很确定这个查询不起作用。 GO在这里不是一个有任何意义的词。 – Steve 2013-05-10 07:34:00

+1

@Steve:你是正确的http://stackoverflow.com/questions/971177/using-go-within-a-transaction/971199#971199 – gbn 2013-05-10 08:05:45

回答

0

我遵循@IvanH,@Steve,@gbn。删除GO ..其实我的第一个错误也是。但后来我删除了USE的说法。

我也删除了cmd.commandtype语句。现在它已经运行了,我已经测试了INSERT并选择了数据库表,并且它很好的显示了..下面是我的代码。如果我的代码有任何不良的逻辑。请给我一些建议,因为我仍然是这个初学者。感谢您的时间所有..

Dim sqlcon2 As New SqlConnection(My.Settings.SqlVB) 
     MainMenu.lblStatus.Text = "Creating Virtual Book" 
     sqlstr2 = "CREATE TABLE [dbo].[" & tbEmail.Text & "](" & _ 
         "[ID] [ntext] NULL, " & _ 
    "[REMARKS] [NCHAR](6) NULL " & _ 
") ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]" 
     Try 
      sqlcon2.Open() 
      cmd = New SqlCommand(sqlstr2, sqlcon2) 

      cmd.ExecuteNonQuery() 
      sqlcon2.Close() 
      MainMenu.lblStatus.Text = "Command Saved to Server" 
     Catch ex As Exception 
      MsgBox(ex.Message) 
     End Try 

而且我直接更改连接到My.Settings.SqlVB。只是可以看到上面的图片(我的问题)的字符串

相关问题