日期:2014-05-20  浏览次数:20773 次

关于DATASET更新数据库的问题(菜鸟级问题)
现在有一张数据库的表A结构如下
ID           NAME
1             中国人
2             外国人

我写了一个简单的代码想学习一下DATASET更新数据库,   结果总是不行,   请高手帮我看看。
代码如下

string   strConn   =   "Provider   =   Microsoft.JET.OLEDB.4.0;   Data   Source   =   ....test.mdb ";
string   strSQL   =   "select   *   from   A ";
OleDbConnection   conn   =   new   OleDbConnection(strConn);
OleDbDataAdapter   adapter   =   new   OleDbDataAdapter(strSQL,   conn);
OleDbCommandBuilder   cmdbd   =   new   OleDbCommandBuilder(adapter);
conn.Open();
DataSet   ds   =   new   DataSet();
adapter.Fill(ds,   "A ");
DataRow   dr   =   ds.Tables[ "A "].NewRow();
dr[ "ID "]   =   "3 ";
dr[ "Name "]   =   "外星人 ";
ds.Tables[ "A "].Rows.Add(dr);
adapter.Update(ds,   "A ");
ds.AcceptChanges();

他老是报什么Insert   Into   语句语法错误,   请高手帮我看看啊。谢谢

------解决方案--------------------
?号是正确的,是使用的占位符,利用参数的形式实现的。

你的数据库结构是怎么样的。
------解决方案--------------------
是不是因为ID是PrimaryKey并且AutoIncrement,不能手工加入导致出错。
------解决方案--------------------
不是代码的问题,是你的数据库中的表的字段的问题...

你的表的字段 "ID ", "NAME "是Access中的保留字,试着将表字段名更改一下试试...