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 回答