2012-03-23 5 views
-3

私の問題は、Visual Studio 10.0のローカルデータベースのテーブルをC#で作成していて、自動増分フィールド私はセットアップを持っています。テーブルが作成され、IDフィールドが正しく設定されているように見えますが、すべてがうまく見えますが、アイデンティティフィールドを使用すると、挿入時に構文エラーが発生するため、愚かなタイプミスがあると思います。 VSを使ってサポートされていませんか?Visual Studio 10.0でIDフィールドを持つテーブルに値を挿入できません(構文エラー)

これは、テーブルの列と実行の作成です:

-connection string omitted- 
string createTableString = @"CREATE TABLE [Test](
[Test_ID] [int] IDENTITY (1,1) PRIMARY KEY NOT NULL, 
[OtherField] [varchar] (50))"; 
SqlCommand command = new SqlCommand(createTableString, con); 
command.ExecuteNonQuery(); 

そして、これは私がテーブルに挿入するために使用しているものですが:私もこれを試してみた

string insertString = @"INSERT INTO Test VALUES ('sometext')"; 
SqlCommand command1 = new SqlCommand(insertString, con); 
command1.ExecuteNonQuery(); 

注意そして、同じ構文エラーを取得:

string insertString = @"INSERT INTO Test (OtherField) VALUES ('sometext')"; 
SqlCommand command1 = new SqlCommand(insertString, con); 
command1.ExecuteNonQuery(); 

はまた、このプロジェクトのために、私はこれらのスクリップを経由して、これを行う必要があることに注意Visual Studioでコマンドを実行します。これは可能ですか?あらかじめありがとうございます。

+3

正確には構文エラーですか? SQL Management Studioでテーブルを編集できますか? –

+1

あなたがテーブルを作成した後でも、コマンド実行時のエラー/例外メッセージは何ですか?sqlから1を追加できますか? – uowzd01

+0

はい、SQL Management Studioでテーブルを編集できます。データ表示モードでは、最初の列を右に移動し、2番目の列に値を入力して、最初の列に自動増分した正しい数を入力します。したがって、テーブル自体は正常に動作しているようですが、insertコマンドは何らかの形で(増分の)IDフィールドに対処していません。 'SqlExceptionがユーザーコード'によって処理されていませんでした。 –

答えて

0

スクリプトが正しいように見えますが、私はそれがテーブルの所有者と関係があると仮定できます。 SQLは、現在のユーザーを表の所有者にします。 [youruser]。[Test]を試してみてください。

+0

いいえ、サイコロはありません。ユーザーを追加しても、ユーザーを追加しなくても、IDフィールドの内容が失われても正常に機能しますが、それ以外の場合は機能しません。 –

0

可能なテストはSQLキーワードです。ブラケットを付けてみてください:[test]

関連する問題