使用SqlCommand在'GO'附近的语法不正确

问题描述 投票:1回答:3

每次执行以下代码时,都会出现此界面:

       str1 = "USE [" + database + "];" + vbCrLf +
               "GO" + vbCrLf +
                   " CREATE TABLE  [dbo].[ARMSet] (
                   [Id] Int IDENTITY(1, 1) Not NULL,
                   [Name] nvarchar(max)  Not NULL,
                   [ArmNumber] Int  Not NULL,
                   [IP] nvarchar(max)  Not NULL,
                   [Port] Int  Not NULL,
                   [Modbusaddress] Int  Not NULL,
                   [Type] Int  Not NULL,
                   [IsMaster] bit  Not NULL,
                   [DeliveryType] Int  Not NULL,
                   [CurretPosition] Int  Not NULL,
                   [IsSwingArm] bit  Not NULL,
                   [IsLoadScale] bit  Not NULL,
                   [PresetId] Int  Not NULL
               );" + vbCrLf +
              " GO"
       Dim myCommand1 As SqlCommand = New SqlCommand(str1, myConn)

错误的描述是:

'GO'附近的语法不正确

sql vb.net sqlcommand
3个回答
2
投票

GO不是Transact-SQL语句;它是sqlcmd和osql实用程序以及SQL Server Management Studio代码编辑器可以识别的命令。

https://docs.microsoft.com/en-us/sql/t-sql/language-elements/sql-server-utilities-statements-go?view=sql-server-ver15#remarks


0
投票

而不是强迫服务器解析您的USE语句,然后保留命令/连接以循环发送CREATE TABLE,将您的两个语句分开,因为MatSnow saysGO相同, t SQL Server命令。

您可以改为在使用前仅在ChangeDatabase上调用ChangeDatabase

myConn

-1
投票

您无法使用代码选择任何数据库

必须在SQL Connection函数中选择数据库。

© www.soinside.com 2019 - 2024. All rights reserved.