ADO如何更新绑定的XML文件(50分)

  • 主题发起人 主题发起人 hzjzxp
  • 开始时间 开始时间
H

hzjzxp

Unregistered / Unconfirmed
GUEST, unregistred user!
我用一个Adoquery控件绑定一个XML文件
当我对这个Adouqery控件的字段怎么更新(修改)时,提示Cannot modify 无法修改
大致意思也明白就是Adoquery无法对XML文件里的数据更新,不知道大家有没有遇到这样的问题,或用其它方法可以解决类似问题,不一定要用Adoquery,只要可以载入XML文件,可以定位修改字段内容,最后保存到XML文件就可以.
希望大家帮忙
 
XMLDocument
 
是不是你的XML文件是只读的?
不行,试试这样
设置TADODataSet为Batch方式、ReadOnly=False,
调用LoadFromXMLFile方式装载
用户修改后,用SaveXMLFile存成另外一个文件
再调用 CopyFileA API函数
 
to:WilliamGui
XML文件不是只读

用LoadFromXML载入XML文件后,有的列可以修改,但有些列不行
 
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly' rs:updatable='true'>
<s:AttributeType name='sp_LineNo' rs:number='1' rs:nullable='true' rs:writeunknown='true' rs:basecatalog='mpsport'
rs:basetable='sp' rs:basecolumn='sp_LineNo'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50'/>
</s:AttributeType>
<s:AttributeType name='sp_LineNo_dt' rs:number='2'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row sp_LineNo='1' sp_LineNo_dt='0'/>
<z:row sp_LineNo='13' sp_LineNo_dt='1'/>
<z:row sp_LineNo='14' sp_LineNo_dt='1'/>
<z:row sp_LineNo='15' sp_LineNo_dt='1'/>
<z:row sp_LineNo='16' sp_LineNo_dt='1'/>
<z:row sp_LineNo='17' sp_LineNo_dt='0'/>
<z:row sp_LineNo='18' sp_LineNo_dt='0'/>
<z:row sp_LineNo='19' sp_LineNo_dt='0'/>
<z:row sp_LineNo='20' sp_LineNo_dt='1'/>
<z:row sp_LineNo='21' sp_LineNo_dt='1'/>
<z:row sp_LineNo='22' sp_LineNo_dt='1'/>
<z:row sp_LineNo='23' sp_LineNo_dt='1'/>
<z:row sp_LineNo='24' sp_LineNo_dt='0'/>
<z:row sp_LineNo='25' sp_LineNo_dt='0'/>
<z:row sp_LineNo='26' sp_LineNo_dt='1'/>
<z:row sp_LineNo='27' sp_LineNo_dt='0'/>
<z:row sp_LineNo='28' sp_LineNo_dt='1'/>
<z:row sp_LineNo='29' sp_LineNo_dt='0'/>
</rs:data>
</xml>
 
以上是XML文件的内容,
把XML文件的内容加载到数据感知控件,第一列可以修改(SP_LineNo),但是第二列无法修改(sp_LineNo_dt)
 
TXMLTranslateProvider 怎么用就查吧
 
后退
顶部