首页 新闻 会员 周边 捐助

access数据库的更新

0
悬赏园豆:10 [已解决问题] 解决于 2013-11-06 12:11
 public static bool UpDataDs(string SQLString, DataTable dtSource, string connectionString)
        {
            using (OleDbConnection connection = new OleDbConnection(connectionString))
            {
                OleDbCommand cmd = new OleDbCommand();
                cmd.Connection = connection;
                cmd.CommandText = SQLString;
                try
                {
                    DataSet ds = new DataSet();

                    OleDbDataAdapter adapter = new OleDbDataAdapter();
                    adapter.SelectCommand = cmd;
                    adapter.Fill(ds, "ds");
                    ds.Tables[0].PrimaryKey = new DataColumn[] { ds.Tables[0].Columns["ID"] };
                    OleDbCommandBuilder cmdb = new OleDbCommandBuilder((OleDbDataAdapter)adapter);

                    adapter.InsertCommand = cmdb.GetInsertCommand();

                    adapter.UpdateCommand = cmdb.GetUpdateCommand();

                    adapter.DeleteCommand = cmdb.GetDeleteCommand();
                    if (dtSource.GetChanges() != null)
                    {
                        adapter.Update(dtSource);
                        dtSource.AcceptChanges();
                    }
                    return true;
                }
                catch (DbException ex)
                {
                    connection.Close();
                    connection.Dispose();
                    return false;
                }
            }
        }
运行到这句时 adapter.InsertCommand = cmdb.GetInsertCommand();
提示 INSERT INTO 语句的语法错误。

以前用sql数据库没有问题,改成access就报错了,应该怎么改一下
丶夏之星的主页 丶夏之星 | 初学一级 | 园豆:5
提问于:2013-11-05 16:35
< >
分享
最佳答案
0

你得把 insert into 的SQL弄出来

 

ACCESS 跟 SQL SERVER 是有点差别的

收获园豆:5
Yu | 专家六级 |园豆:12990 | 2013-11-05 16:39

嗯,是得,字段要加上[],

我想access能用这样的方法吗

丶夏之星 | 园豆:5 (初学一级) | 2013-11-05 18:00

@丶夏日星:加上是可以的

Yu | 园豆:12990 (专家六级) | 2013-11-05 18:49
其他回答(1)
0

作为一个开发人员是否应该弃绝access:

1.需要驱动

2.性能不佳(不如sqlite)

3.不支持事务功能等.....

建议使用sqlite.

同时推荐使用Moon.Orm

其中也可以直接使用Sqlite

生成实体代码,引用,就可以直接使用.

 

Moon.ORM 5.0(MQL版) 社区版---代码生成器发布(继续无Linq之旅)

收获园豆:5
[秦时明月] | 园豆:738 (小虾三级) | 2013-11-06 09:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册