【问题标题】:SQL database creation error while executing "ExecuteNonQuery" in C#在 C# 中执行“ExecuteNonQuery”时 SQL 数据库创建错误
【发布时间】:2011-12-03 06:57:00
【问题描述】:

我想用 SQL 数据库部署 C# 应用程序。我在 MSI 安装程序中使用数据库脚本。我的数据库脚本在 SQL Server 2005 管理工作室的 DBCC(数据库控制台命令)上运行良好。但是在安装程序中执行“ExecuteNonQuery”时,它会给出屏幕截图中显示的异常。

我该如何解决? 我正在使用以下连接字符串。

                    connString = "Data Source = " + machineName + "\\SQLEXPRESS; Initial Catalog = master; Integrated Security = SSPI";

【问题讨论】:

  • 你能发布正在执行的查询吗?看起来查询在语法上不正确。
  • 如果我在 SQL Server 上执行此查询,它可以正常工作。
  • 如果您将代码和查询连同此异常屏幕截图一起发布,我希望人们可以更好地帮助您。

标签: c# sql-server-2005


【解决方案1】:

您不能在这样的 SqlCommand 中使用“GO”命令。这是一个很好的解释和一些解决方法:

http://weblogs.asp.net/jgalloway/archive/2006/11/07/Handling-_2200_GO_2200_-Separators-in-SQL-Scripts-2D00-the-easy-way.aspx

【讨论】:

    【解决方案2】:

    在每个 GO 语句之后放置分号 (;),或者更好地为每个语句。使用 DML 语句时,SQL Server 接受不带分号的语句,但使用 GO 时必须对它们进行分隔。

    【讨论】:

      【解决方案3】:
      【解决方案4】:

      将 go 替换为新行 (\r\n)。这将按顺序运行字符串 var 中的所有命令。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-13
        • 1970-01-01
        • 1970-01-01
        • 2023-03-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多