思归呓语

衣带渐宽终不悔,为伊消得人憔悴
随笔 - 413, 评论 - 2971, 引用 - 245

导航

关于

标签

每月存档

最新留言

广告

Fill 与 ReadXml 的混合使用

DataAdapter有个Fill方法,可以填充DataSet,DataSet有个ReadXml方法,可以读取XML来填充。

在CSDN上看到有人在问ReadXml与Fill的运行顺序为什么不能互换?觉得有些有趣,做了一番粗浅的观察,发现

1。
DataSet objDataSet = new DataSet();

objDataSet.ReadXml( strXmlFile );
-->生成新的表

objDataAdapter.Fill( objDataSet, "tblProducts" );
-->如果这里的东西与前面生成的表的Schema以及表名一样的话,会填充到前面一个表内,否则会另生成一个表:


2。
DataSet objDataSet = new DataSet();

objDataAdapter.Fill( objDataSet, "tblProducts" );
-->生成新的表tblProducts

objDataSet.ReadXml( strXmlFile );
-->
  a. 如果你的XML文件里有Schema,并且如果这里的东西与前面生成的表的Schema以及表名一样的话,会填充到前面一个表内,否则会生成一个新表

  b. 假如没有Schema,而且DataSet推出的Schema与前面表相同的话,并且表名一样的话,会填充到前面一个表内,如果表名不同,不会读数据进来!即,ReadXml不起作用

  c.假如没有Schema,而且DataSet推出的Schema与前面表格不同的话,不会读数据进来!即,ReadXml不起作用

还发现,好像XML文件里的根节点名与现有DataSet名是否相同是无关紧要的


建议大家别这么用,你会搞糊涂的

posted on 2004-06-30 07:28:00 by saucer  评论(7) 阅读(2965)

Powered by: Joycode.MVC引擎 0.5.2.0