繁体   English   中英

在C#代码中执行SQL语句会产生错误“关键字'ON'附近的语法不正确”

[英]Executing an SQL statement inside c# code gives error “Incorrect syntax near the keyword 'ON'”

我拥有的代码非常简单:

SqlCommand command = new SqlCommand("CREATE TABLE [dbo].[ClientData]([ClientDataID] [int] IDENTITY(1,1) NOT NULL,[SessionID] [char](24) NOT NULL,[Browser] [varchar](20) NOT NULL,[IP] [varchar](20) NOT NULL,[OperatingSystem] [varchar](30) NOT NULL,CONSTRAINT [PK_SessionData] PRIMARY KEY CLUSTERED([ClientDataID] ASC)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY] ON [PRIMARY]");            
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    command.Connection = connection;
    command.ExecuteNonQuery();
}

执行后,出现此错误:

关键字“ ON”附近的语法不正确

该查询是由MS SQL 2008生成的,我只是照原样复制了它。 有人可以告诉我为什么这行不通吗?

谢谢。

您有两次ON [PRIMARY]权限,但只能列出一次。

在SqlCommand中使用此脚本。

创建表[dbo]。[ClientData]([ClientDataID] [int] IDENTITY(1,1)NOT NULL,[SessionID] char NOT NULL,[Browser] varchar NOT NULL,[IP] varchar NOT NULL,[OperatingSystem] varchar不为空,CONSTRAINT [PK_SessionData]主键已聚集([ClientDataID] ASC)(PAD_INDEX = OFF,STATISTICS_NORECOMPUTE = OFF,IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON,ALLOW_PAGE_LOCKS = ON)ON [PRIMARY])

不知道您是否正在寻找!

CREATE TABLE [dbo].[ClientData]
(
[ClientDataID] [int] IDENTITY(1,1) 
NOT NULL,[SessionID] [char](24) NOT NULL,
[Browser] [varchar](20) NOT NULL,
[IP] [varchar](20) NOT NULL,
[OperatingSystem] [varchar](30) NOT NULL,
CONSTRAINT [PK_SessionData] 
PRIMARY KEY CLUSTERED([ClientDataID] ASC)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON)
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM