Sandy8606

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

今天要将介个Excel表合并到一个表中,本人是将要合并的表都写入到内存的DataTable中,然后统一将DataTable中的记录,更新到目的表里。代码如下:

            OleDbConnection desConn = createConnection(txtDes.Text);//获取数据源连接
         OleDbCommand cmd = desConn.CreateCommand();
            desConn.Open();
            DataView dv = desTable.DefaultView;//要更新到Excel中的表
            dv.Sort = "Number ASC";
            foreach (DataRowView drv in desTable.DefaultView)
            {
                string cmdText = "update [Sheet1$] set ArrivedTime='" + drv["ArrivedTime"].ToString() + "' where Number="+drv["Number"].ToString();
                cmd.CommandText = cmdText;
                cmd.ExecuteNonQuery();
            }

 试了很多次,编译运行都没有错误,就是那个目的表中的数据没有被更新,后来才发现没有关闭数据库连接,加入 desConn.Close();就OK了。所以我想OleDB对Excel的操作可能也是基于事务的吧。

posted on 2010-08-10 15:12  Sandy8606  阅读(301)  评论(0编辑  收藏  举报