如何把ADOQuery查询结果保存到内存流
ADOQuery 的查询时封装在Dll中的,然后在Exe里显示在DBGrid上,目前用的是保存到文件的方式,但是这样速度很慢。
请问有没有方法,将Dll中的 Adoquery 共享给 外部的 DbGrid,直接显示!
[解决办法]
存成xml文件或其它普通文件,然后用流传输
ADOQuery1.SaveToFile
[解决办法]
好像有人利用Tadoquery里使用的原始ado对象,是有保存到流的方法
[解决办法]
这个理论上可以,只要你的数据量不是很大,而内存足够大。用共享内存的方法:
1.在DLL中用CreateFileMapping建一共字内存,将你的数据转换成结构或数组(一般用静态的,类的话要序列化),用MapViewOfFile存入该共字内存
2.在EXE中用OpenFileMapping打开上面的共字内存,用MapViewOfFile读取数据,并写到DBGrid上
[解决办法]
上面那个链接的试例是通过接口实现的,调用者可以通过接口调用DLL的全部开放的接口,调用DLL就再需要每次都取得DLL方法的地址。
[解决办法]
把exe里的adoquery传到dll里进行查询
[解决办法]