【问题标题】:Database Not Exist, but it is exist at there数据库不存在,但在那里存在
【发布时间】:2013-05-10 04:21:34
【问题描述】:

在我的项目中有 2Databases 并且我的服务器正在使用 SQL Server 2012 Management Studio。现在我想连接到其中一个数据库并在运行时创建一个新表。 但是我遇到了问题。

但是当我检查我的位置时。它存在并且同名..

这是我的代码:

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

【问题讨论】:

  • 您确定数据库在同一台服务器上吗?请尝试在同一连接stackoverflow.com/questions/147659/… 上获取数据库列表。您介意添加连接字符串吗?
  • 你需要检查你的连接字符串,但我很确定这个查询不会起作用。 GO 在这里没有任何意义。
  • 感谢您抽出宝贵时间发表评论。我非常确定那里的数据库。实际上,文件夹中有 2Database。我可以访问 Notif_DB,但无法访问 VIRTUALBOOK。此外,第一个连接是到 notif_db,几天后,我与 virtualbook 建立了新连接。今天我测试它。它弹出那个错误。我不认为它是数据库丢失
  • 但是 vbCon 变量中使用的连接字符串是什么?这是需要了解的基本信息。你从哪里得到异常?在 Open 语句上还是在 ExecuteNonQuery 上?

标签: vb.net sql-server-2012


【解决方案1】:

我关注了@IvanH、@Steve、@gbn。删除GO.. 实际上首先我也遇到了错误。但后来我删除了USE statments。

我也删除了cmd.commandtype 语句。现在它运行了,我已经测试了 INSERT 和 SELECT 数据库表,它显示得很好。下面是我的代码。如果我的代码有任何错误的逻辑。请给我一些建议,因为我仍然是这方面的初学者。谢谢大家的时间..

 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。只是可以在上面的图片中看到字符串(我的问题)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 2018-09-01
    • 2017-07-02
    • 2020-03-03
    • 2015-11-24
    • 1970-01-01
    • 2017-09-13
    相关资源
    最近更新 更多