0

ASP.NET で、挿入ステートメントを使用して DetailsView コントロールを構成しようとしています。insert コマンドを実行すると、次のエラーが表示されます。

「列 '住所' を null にすることはできません」

私のSQL:

INSERT INTO Students (Name, Address,College_Status,Email,Fraternity_Status,Major,Pledge_Class,Ship_ID,Dues_Paid,Service_Hours,Money_Donated,Phone,Shirt_Size,Phone_Carrier,Birthday,Chair_Position,Ritual_Proficiency,Library_Hours)  Values (@Name,@Address,@College_Status,@Email,@Fraternity_Status,@Major,@Pledge_Class,@Ship_ID,@Dues_Paid,@Service_Hours,@Money_Donated,@Phone,@Shirt_Size,@Phone_Carrier,@Birthday,@Chair_Position,@Ritual_Proficiency,@Library_Hours)

どんなアイデアでも大歓迎です。単純な SQL 構文エラーだと思います。ありがとう

4

3 に答える 3

2

学生テーブルのすべての列を入力していないように見えます。やってみる

INSERT INTO Students (*column names*) VALUES (*values*)

これにより、新しい列を追加した場合でもクエリが確実に機能し、必要な列がすべて揃っていることを確認するための迅速なサニティ チェックに役立ちます。

編集:

あなたの新しい結果に基づいて、問題がわかりました。あなたのSQLは間違っています。次のようになります。

INSERT INTO 生徒 (名前) 値 (@名前)

値セクションで列名 = パラメータ名を使用しないでください。

編集2:

「Address cannot be null エラー」については、Address に挿入する値を確認する必要があります。これはデータベース内の NULL 不可フィールドであり、入力しようとしている値は NULL です。これにより、アドレスが必要であるというエラーがユーザーに返されます。

于 2013-05-11T03:49:38.173 に答える
1

あなたが挿入用に書いた構文は、私には奇妙に見えます。

そのはず、

Insert into table_name (col1, col2) values (@val_col1, @val_col2)
于 2013-05-11T03:52:29.903 に答える
1

単純なようです。あなたはまだ立ち往生していますか? http://sqlfiddle.com/#!2/47ed30/1

于 2013-05-11T04:36:31.387 に答える