执行SQL查询从C#代码创建新的SQL表

问题描述:

我想执行一个SQL查询,它将在SQL数据库中创建一个新表。当我这样做时:执行SQL查询从C#代码创建新的SQL表

string queryString = @" 
CREATE TABLE [dbo].[peep_searchresults_live](
    [id] [int] IDENTITY(1,1) NOT NULL, 
    [SKU] [varchar](150) NULL, 
    [ManufacturerBrand] [varchar](150) NULL, 
); 

查询得到执行就好了,表在数据库中创建。

但是,当我试图这样的:

string queryString = @" 
      SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

SET ANSI_PADDING ON 
GO 

CREATE TABLE [dbo].[peep_searchresults_live](
    [id] [int] IDENTITY(1,1) NOT NULL, 
    [SKU] [varchar](150) NULL, 
    [ManufacturerBrand] [varchar](150) NULL,    
CONSTRAINT [PK_peep_searchresults_live] PRIMARY KEY CLUSTERED 
(
    [id] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

GO 

SET ANSI_PADDING OFF 
GO"; 

我收到错误像这样的:

enter image description here

+0

你在c#代码中使用了什么函数? 'ExecuteNonQuery'? – 2012-03-01 20:27:36

+0

@Mr正确,我正在使用ExecuteNonQuery那 – Laziale 2012-03-01 20:38:32

SQL Server不明白什么是GO - 只查询分析器知道(如SSMS)。

如果您需要执行多个命令,只需按照正确的顺序执行它们,一次一个。

GO声明是无效的ADO.net

你需要的所有其他符合条件的语句?

您可以将每个命令分解为单独的命令,并通过单个连接依次执行每个命令。

+0

我想在ID字段上设置主键,有没有其他方法我可以通过代码来完成? – Laziale 2012-03-01 20:32:51