【发布时间】:2012-11-29 21:45:25
【问题描述】:
为什么会出现这个错误?错误信息是:INSERT INTO 语句中的语法错误。
我想向我的数据库中添加一条记录,但它不起作用。问题出在哪里?
代码是:
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();
}
}
【问题讨论】:
-
从 dataRow[0] 开始,然后重试。
-
@HansPassant: dataRow[0] 是自动编号!
-
我不认为您发布的代码说明了整个故事。您可以发布完整的堆栈跟踪吗?此外,当您在 c# 中使用 using 语句时,对象将被释放,因此请删除代码中的 connection.Dispose() 行。
-
你在哪里设置
DbDataAdabter.InsertCommand? -
@SimonWilson:我应该如何设置?