Update方法上的OleDbException错误

时间:2012-11-29 16:42:28

标签: c# oledb

为什么会出现此错误?错误消息为: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();
        }
    }

1 个答案:

答案 0 :(得分:0)

使用DbDataAdabter.Update()时,你必须非常小心表的数据类型,即如果它是DB中的int然后转换它然后插入如下:

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

同时检查所有已提供的值,此处我看不到dataRow [0]在任何地方提供,或者它是一个自动ID字段。