最近在做一个健康档案模板的程序,需要将将模板数据以一个字段存入数据库表中。这个字段的数据类型是CLOB.因为VARCHAR2(4000)的数量太少了。
存入数据库
DataSet dsData=new DataSet();
string tempContent = dsData.GetXml();
string tempContentStruct = dsData.GetXmlSchema();
DataSet的GetXmlSchema是返回DataSet实例里的DATATABLE的结构并不包含数据。如图:
DataSet的GetXmlSchema返回的是DataSet实例里DATATABLE中有值的字段,如果一个字段为NULL或空,是不会被保存的。
看到区别了吧。
读出来
using System.IO;
jkArchTemp.Fill("temp_id=" + tempId);
//是个实体
StringReader sReader = new
StringReader(jkArchTemp.TempContentStruct);
dsData.ReadXmlSchema(sReader);
sReader = new StringReader(jkArchTemp.TempContent);
dsData.ReadXml(sReader);
ReadXmlSchema方法一定要在前,是把DATASET的结构给读出来了
ReadXml读数据
看到了,很简单吧。