2013-05-10 2 views
0

내 프로젝트가 2D 데이터베이스이고 SQL Server 2012 Management Studio를 사용하고 있습니다. 그리고 지금은 데이터베이스 중 하나에 연결하고 런타임에 새 테이블을 만들고 싶습니다. 하지만 문제가 있습니다.데이터베이스가 존재하지 않지만 거기에 존재합니다.

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

+1

연결 문자열을 확인해야하지만이 쿼리가 작동하지 않을 것이라고 확신합니다. GO는 여기에 의미가있는 단어가 아닙니다. – Steve

+1

@ 스티브 : 당신 말이 맞아요. http://stackoverflow.com/questions/971177/using-go-within-a-transaction/971199#971199 – gbn

답변

0

내가 @IvanH, @ 스티브, @gbn에 따라했다 : 그것은 여기

내 코드입니다 .. 존재와 같은 이름을 가진. GO을 제거하려면 .. 사실 처음에는 오류가 발생했습니다. 그런 다음 개의 문장을 삭제합니다.

그리고 cmd.commandtype 문도 제거합니다. 이제 실행되고, 나는 INSERT 및 SELECT 데이터베이스 테이블을 테스트하고 그것을 잘 보여줍니다. 내 코드는 다음과 같습니다. 내 코드의 잘못된 논리가있는 경우. 제게 조언 해주세요. 아직 초보자이기 때문에. 내가 My.Settings.SqlVB에 직접 연결을 변경하는 모든 ..

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 

그리고 시간 내 주셔서 감사합니다. 위의 그림 (내 질문)에서 문자열을 볼 수 있습니다.

관련 문제