2012-03-01 6 views
0

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"; 

を、私はこの1つのようなエラーが発生します:

enter image description here

+0

どの機能をC#コードで使用していますか? 'ExecuteNonQuery'? –

+0

@Mr正しい、そのためにExecuteNonQueryを使用しています – Laziale

答えて

3

SQLサーバーがGOが何であるかを理解していない - だけで、クエリアナライザを知っています(例えば、SSMS)。

複数のコマンドを実行する必要がある場合は、一度に1つずつ適切な順序で実行するだけです。

0

GOステートメントを使用すると、それらの他の適格文のすべてが必要ですADO.net

には有効ではありませんか?

それぞれを別々のコマンドに分割し、各コマンドを1回の接続で順番に実行することができます。

+0

IDフィールドにプライマリキーを設定しようとしていますが、他の方法でコードを実行する方法はありますか? – Laziale

関連する問題