当前位置:编程学习 > C#/ASP.NET >>

da.Update没有成功,请求高手协助!

下面语句执行也没有报错,最后还提示“共导入8条数据!”,但是到数据库查询,却没有插入任何值,在网上也看到很多帖子,说da.Update只是在内存里对DataSet 进行操作,没有真正提交数据库。我修改了很长时间却始终无法存到数据库中,请高手协助,急!

        private void button1_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            ds = DataSum("5TT", "2011-07-04 11:58:58.000", "2011-07-25 15:12:51.000", 3, "515");
            try
            {
                System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("server=localhost;database=DataLog;integrated security=True");
                //打开数据库
                conn.Open();
                System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter("select * from stx_sum", conn);
                System.Data.SqlClient.SqlCommandBuilder cb = new System.Data.SqlClient.SqlCommandBuilder(da);
                da.Fill(ds, "stx_sum");
                da.Update(ds, "stx_sum");
                ds.AcceptChanges();

                conn.Close();
            }
            catch (Exception e1)
            {
                throw e1;
            }
            int Count = ds.Tables[0].Rows.Count;
            MessageBox.Show("共导入" + Count + "条数据!");
        }
--------------------编程问答-------------------- 说da.Update只是在内存里对DataSet 进行操作,的却是这样的,只是用了一个DataSet把数据存放而已

你还是自己写一个修改数据库的方法,不就行了呗
这种 不行换种方式呗 --------------------编程问答-------------------- 不看功能

你的这段代码效率不会高到哪里去 --------------------编程问答-------------------- 换sqlcommand看看. --------------------编程问答-------------------- 一、DataAdapter.Fill()这里填充了DS,马上接着Update,这中间发生有数据改变了吗?
二、你上面的代码,只要有了CommandBuiler和DataAdapter.Update()即可,请将DataSet.AcceptChanges()这行注释掉。因为Update()内部会调用DataSet的AcceptChanges()。 --------------------编程问答-------------------- 为什么要这么做呢  费解  --------------------编程问答--------------------
引用 4 楼 abbey 的回复:
一、DataAdapter.Fill()这里填充了DS,马上接着Update,这中间发生有数据改变了吗?
二、你上面的代码,只要有了CommandBuiler和DataAdapter.Update()即可,请将DataSet.AcceptChanges()这行注释掉。因为Update()内部会调用DataSet的AcceptChanges()。

您好,我这个是后加的,开始没有,测试也没有通过 --------------------编程问答--------------------
引用 1 楼 lmaohuanl 的回复:
说da.Update只是在内存里对DataSet 进行操作,的却是这样的,只是用了一个DataSet把数据存放而已

你还是自己写一个修改数据库的方法,不就行了呗
这种 不行换种方式呗

谢谢,我是初学,请问您有类似的代码没有,发我学习一下,非常感谢! --------------------编程问答--------------------
引用 5 楼 hebaobao19880921 的回复:
为什么要这么做呢 费解

高手,有什么好的方法没有,麻烦您告诉我一下,最好有代码。 --------------------编程问答-------------------- 我最近也发现这个问题。

发现用企业库就能导入,自己写代码导入行数是大于零,但是没有效果。 --------------------编程问答-------------------- 顶下  等高手解决
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,