这两天看到你在论坛里不停的问这个问题,我都替你着急了,我帮你搞定了。这里说我的方法:
-------------------------------------------------------------
我用了两个ADOQuery(当然你也可以只用一个,我这里是为了更清楚的说明你的问题),其中ADOQuery1连本地数据库中的表bookinfo,表里是下面的记录,是savetofile生成的test.xml中的。
<z:row bookname="Delphi5" author="王华" price="57" />
<z:row bookname="vb" author="梁刚" price="38.6" />
ADOQuery2用来loadformfile('test.xml'),另外有两个datasource和dbgrid分别用来对应两个ADOQuery,dbgrid用来看效果,这我就不细说了。
下面是代码:
--------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
try
ADOQuery1.SaveToFile('test.xml');//这个你应该知道的哈:)
Application.MessageBox('OK!','提示',MB_ICONINFORMATION + MB_OK);
except
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
try
ADOQuery2.LoadFromFile('test.xml');//先LOAD进来
ADOQuery2.Active := true;//一定要TRUE
ADOQuery2.Filtered := false;
ADOQuery2.Filter := 'bookname = ' + QuotedStr('vb');//这里最关键,是你要过滤的记录,我这里的意思是只在DBGRID中显示bookname等于vb的字段,你可以在这里改成你需要的,其中QuotedStr函数一定不能少,它的意思你看帮助就可以了。
ADOQuery2.Filtered := true;
Application.MessageBox('OK!','提示',MB_ICONINFORMATION + MB_OK);
except
Application.MessageBox('load from xml faile!','错误',MB_ICONERROR + MB_OK);
end;
DBGrid2.DataSource := DataSource2;
DataSource2.DataSet := ADOQuery2;
end;
有什么问题再跟我联系:[email protected]
-------------------------------------------------------------
我用了两个ADOQuery(当然你也可以只用一个,我这里是为了更清楚的说明你的问题),其中ADOQuery1连本地数据库中的表bookinfo,表里是下面的记录,是savetofile生成的test.xml中的。
<z:row bookname="Delphi5" author="王华" price="57" />
<z:row bookname="vb" author="梁刚" price="38.6" />
ADOQuery2用来loadformfile('test.xml'),另外有两个datasource和dbgrid分别用来对应两个ADOQuery,dbgrid用来看效果,这我就不细说了。
下面是代码:
--------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
try
ADOQuery1.SaveToFile('test.xml');//这个你应该知道的哈:)
Application.MessageBox('OK!','提示',MB_ICONINFORMATION + MB_OK);
except
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
try
ADOQuery2.LoadFromFile('test.xml');//先LOAD进来
ADOQuery2.Active := true;//一定要TRUE
ADOQuery2.Filtered := false;
ADOQuery2.Filter := 'bookname = ' + QuotedStr('vb');//这里最关键,是你要过滤的记录,我这里的意思是只在DBGRID中显示bookname等于vb的字段,你可以在这里改成你需要的,其中QuotedStr函数一定不能少,它的意思你看帮助就可以了。
ADOQuery2.Filtered := true;
Application.MessageBox('OK!','提示',MB_ICONINFORMATION + MB_OK);
except
Application.MessageBox('load from xml faile!','错误',MB_ICONERROR + MB_OK);
end;
DBGrid2.DataSource := DataSource2;
DataSource2.DataSet := ADOQuery2;
end;
有什么问题再跟我联系:[email protected]
解决方案 »
- 如何让程序启动后自动添加到启动项?
- 如何在delphi中把浮点型强制转换为整型?
- 我用Delphi写了一个DLL封装一个登录窗口老出问题。知道的高手进来瞅瞅
- 请教一个问题?
- D7调用存储过程:我用的SQLQUERY exec mypro @p1=:p1,@p2=:p2
- 高分求助:为什么98下TAPI.LineGetID可以取得wave/out的Modem设备号,在2000下就不行了?
- 谁有联众80分的源码?
- 郁闷,信誉分又被扣了,仅剩的60分散掉59分,仅给前六位
- 如何调用excel的排序功能?如何将sql server的查询语句作为一个参数传给存储过程?急急急啊……
- 请大家详细讲讲sender和owner。(nofog兄过来看)
- 哪里有Delphi5或Delphi6下载??找到即时给份
- 怎样取得数据库表(query)所对应的各个字段值,
ADOQuery2.Filter := 'price > ' + QuotedStr('38.6');