永发信息网

DataTable.AcceptChanges();为什么缓存里数据没有被更新

答案:1  悬赏:20  手机版
解决时间 2021-05-06 15:32

SqlDataAdapter sda = new SqlDataAdapter("SELECt * FROM " + _name, _con);
sda.MissingSchemaAction = MissingSchemaAction.AddWithKey;
SqlCommandBuilder scb = new SqlCommandBuilder(sda);
 sda.Update(_table);
 _table.AcceptChanges();

 

_table(DataTable)里面的数据为什么没有被更新?

最佳答案
我应该用DataReader类还是DataSet类呢?”经常听到有人问这个问题:“在ASP.NET Web应用程序中我应该用DataReader类还是DataSet类呢?”在很多文章以及新闻组的贴子中我经常看到这样的误解,即认为DataReader(SqlDataReader或OleDbDataReader的缩写)比DataSet好。有时候我也会看到相反的说法。事实上,Microsoft创建了这两个数据存取类是因为它们都是我们所需要的。每个类都有其优点和不足,你可以根据应用环境来选择用哪一个。 本文就两者的选择问题做了很清楚的讲述,可以让你在运用ASP.NET时,在选择DataReader类或DataSet类的方面得到一些指南。在基于客户端的Windows Form应用程序环境下,这些规则可能会改变。我在做这些讲述时,假设你已经用过DataReader和DataSet类了,并对它们很熟悉。 运用DataReader类 下面就是运用DataReader类的理想条件: 你读取的数据必须是新的,所以在每次需要数据的时候,你都必须从数据库读取。创建一个DataReader类不会消耗很多内存,不过随着负荷的增加,DataSet上的性能也会很快地提高(参考资源中Visual Studio Magazine中的文章)。 你对每行数据的需求很简单。该情况的最好的例子就是简单地将DataReader绑定到一个Web控件,如DataGrid或DropDownList。 你只需要从数据库中以只向前的(forward-only) 、只读的形式来存取XML数据。在这种情况下,你可以用SQLCommand对象的ExcecuteXmlReader()方法来得到一个XmlReader类(相当于XML版的DataReader)。这就需要一个运用FOR XML子句的SQL Server查询,或者一个包含有效XML的ntext字段。 你计划对数据库进行几个重复的调用,来读取一小块信息。在这种情况下,我们前面提到过的性能数据会有更大的提高。 的确,使DataSet类更强大的许多功能只适用于基于客户端的Windows Form应用程序,比如在多个表之间建立关系的功能。在很多情况下,DataSet类都比DataReader类更有优势,而且在有些情况下,你根本就不能用DataReader类。 运用DataSet类 在下面的情况,你应该考虑运用DataSet类: 你构建了一个Web service,它运用的数据是你作为返回值读取的数据。因为DataReader类必须保持到数据库的连接,所以它们不能被序列化到XML中,也不能被发送给一个Web service的调用者。 你需要排序或筛选数据。在运用一个DataView对象(呈现为DataTable类的DefaultView属性,它包含一个DataSet类)来排序或筛选数据前,我们先试着用SQL查询(如WHERe和ORDER BY语句)来实现这些功能,并运用更轻量级、更快的DataReader类。然而,有时侯用这种方法是不行的,或者当你需要多次地对数据进行排序或筛选时就不能用DataReader。 针对同一请求,你需要多次遍历数据。你只能在DataReader中循环一次。如果你想将多个ServerControl类绑定到同一个数据集,那么选择DataSet就更好。DataReader类不能被绑定到多个ServerControl类,因为它是只向前读取的。在这种情况下,如果要使用DataReader,必须从数据库读取两次数据。 你需要存储数据,而后续的页面请求可能会用到的这些数据。如果数据只被请求它的专门的人使用,你可以将DataSet类保存在一个Session变量中。如果数据可以被任何人访问,那么你可以将它保存在一个Application变量中,或保存在Cache中(我建议使用后一种方法,因为它支持时间期限和回调(callback))。因为DataReader类必须一直打开对数据库的连接,而且它一次只能保存一行数据,所以它们不能在跨页面请求中被保存。 你需要对一个结果集的每个元素实现特殊的、耗时的功能。例如,如果你从一个数据库读取一列邮政编码,并想通过调用一个Web service来得到每个地区的详细的天气状况信息,那么选择DataS
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
明明商店在什么地方啊,我要过去处理事情
漫游35以上带冰冻属性的左轮
谁给个生化危机4的汉化包
俗礼节是什么意思,52.01 红包什么意思
怎么把QQ空间的歌下来手机啊??
日语一级该如何着手准备?
如果明天失去一切,那你今天做什么?
中国地质大学长城学院的清考是怎样的 难不难
舟山日报社怎么去啊,有知道地址的么
谁有E72能玩的电子罗盘游戏
如何提高C语言的编程能力?
地下城游戏从那得无色大晶体
如果除草一天过300点后,你在锄草,会加钱吗
同志们,谁可以告诉我联通杂样查剩余流量?刚
DNF上了就掉
推荐资讯
重庆市公安局渝中区分局交巡警四大队地址在哪
七位处号QQ最便宜多少钱?淘宝
你175的时候是 多大啊? 我现在18岁 177啊!
七雄争霸君主多少级可以招募6名武将?
QQ飞车要多久才能从90级到100级
谁能帮我做个炫舞徽章上的字 大写的 B
第三者的爱情唯美诗句,爱情里出现第三者我不
商机是怎么被发现的?
回老家给爸妈带什么,回家带什么东西好呢?
夏天头发好油,而且空一天就必须洗一次好烦哦,
五十个女人小便(打一成语)
爱还是不爱,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?