0

sqlステートメントがあります。ここで、データを.mdbデータベースのテーブルに挿入しようとしています。私の質問は

"INSERT INTO PROJECT_MASTER VALUES ('" + Project_ID.Text + "','" + Project_Name.Text + "'," +
                          "'" + Common_Log_ID.Text + "','" + Common_Log_Description.Text + "'," +
                          "'" + Convert.ToString(Project_Manager.SelectedItem) + "','" + Convert.ToString(Priority_value) + "'," +
                          "'" + Convert.ToString(Complexity_value) + "','" + Convert.ToString(Status_value) + "'," +
                          "'" + Convert.ToDateTime(sd) + "','" + Convert.ToDateTime(ed) + "'," +
                          "'" + Notes.Text + "','" + Convert.ToString(User_Name) + "'," +
                          "'" + DateTime.Now + "')";

SO私のテーブルには14列あり、最初の列は自動番号インクリメントで、最後の列は現在の日付です。これ以外は、他のすべての正しいものだけを示しました。

asp.netで「クエリ値と宛先フィールドの数が同じではありません」というエラーに直面しています

4

3 に答える 3

0

一般にこのようなエラーを回避するために、2つの変更を行うことをお勧めします。

1.)INSERTの列を一覧表示します

INERT INTO table (a, b) VALUES (1, 2)

これ1により、列a2に挿入されb、最初と最後の列をスキップできます。

2.)パラメータ化されたクエリを使用します。これにより、ステートメントが読みやすくなり、セキュリティも確保されます。

于 2013-02-14T12:17:25.393 に答える
0

列の値を指定していないためautoincrement、データベースは。13ではなく値のみを取得しています14

次の方法はあなたを助けるかもしれません....

"insert into PROJECT_MASTER(SPECIFY_COLUMN_NAMES_WHICH_YOU_WANT_TO_INCLUDE_HERE) values(SPECIFY_YOUR_VALUES_HERE)
于 2013-02-14T12:17:43.300 に答える
0

最初の列を省略すると、クエリは次のようになります。

INSERT INTO PROJECT_MASTER (col2, col3, ..., col14) VALUES ...
于 2013-02-14T12:16:22.583 に答える