0

なぜこのエラーが発生するのですか? エラーメッセージは次のとおりです。Syntax error in INSERT INTO statement.

データベースにレコードを追加したいのですが、うまくいきません。問題はどこだ?

コードは次のとおりです。

using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            OleDbDataAdapter DbDataAdabter = new OleDbDataAdapter();
            DbDataAdabter.SelectCommand = new OleDbCommand("SELECT * FROM [Phone-Book]", connection);

            OleDbCommandBuilder cb = new OleDbCommandBuilder(DbDataAdabter);
            connection.Open();
            DataRow dataRow = myDataset.Tables["salam"].NewRow();

            dataRow[1] = textBox2.Text;
            dataRow[2] = textBox3.Text;
            dataRow[3] = textBox4.Text;
            dataRow[4] = textBox5.Text;

            dataRow.EndEdit();
            myDataset.Tables["salam"].Rows.Add(dataRow);

            DbDataAdabter.Update(myDataset , "salam");

            connection.Close();
            connection.Dispose();
        }
    }
4

1 に答える 1

0

DbDataAdabter.Update() を使用する場合は、テーブルのデータ型に十分注意する必要があります。つまり、DB で int の場合は、変換してから次のように挿入します。

dataRow[1]=(int) dataRow[1]+10;

また、すべての値が提供されていることを確認してください。ここでは、dataRow[0] がどこにも提供されていないか、自動 ID フィールドであるかを確認します。

于 2012-11-29T17:32:02.083 に答える