今天看到一个贴直接将ADOQuery的数据生成Stream放入数据库,不生成临时文件aaa.xmlhttp://topic.csdn.net/u/20090708/10/364b048c-1ecf-41ac-89f0-285fba9f3479.htmluses
adoint,activex;const
IID__RecordsetEx: TGUID = '{00000556-0000-0010-8000-00AA006D2EA4}';
type
_RecordsetEx = interface(_Recordset)
['{00000556-0000-0010-8000-00AA006D2EA4}']
procedure Save(Destination: OleVariant; PersistFormat: PersistFormatEnum); safecall;
end;上面这段代码看不懂。如果从数据库中取出来的内容转成Stream后,也不生成xml文件直接放到ADOQuery,也就是上面说的那个过程反过来,要怎么做啊?请高人赐教.
adoint,activex;const
IID__RecordsetEx: TGUID = '{00000556-0000-0010-8000-00AA006D2EA4}';
type
_RecordsetEx = interface(_Recordset)
['{00000556-0000-0010-8000-00AA006D2EA4}']
procedure Save(Destination: OleVariant; PersistFormat: PersistFormatEnum); safecall;
end;上面这段代码看不懂。如果从数据库中取出来的内容转成Stream后,也不生成xml文件直接放到ADOQuery,也就是上面说的那个过程反过来,要怎么做啊?请高人赐教.
解决方案 »
- 我的系统有两卡声卡,在控制面版里可以选择某块声卡设备为系统当前音频的回放的首选设备,怎样用程序实现呢?
- 我的可用分没有了,但是还有许多问题没有问呢。请大家捐赠给我一点分吧!
- 怎样完成这种查找操作!
- 动态生成的窗体无法加Icon。高手来拿分(从不赊帐!)
- 哪里有SysTools Bar Code Builder下载
- 如何顯示窗口??
- 各位大侠们请迅速救救我, 5个问题,高分送!!!!十万火急!!!各位大侠们请迅速救救我, 5个问题,高分送!!!!十万火急!!!可送1000分,分几次送
- 我决定学习Delphi,请大家多指教,呵呵....一个简单的问题来了!(关于字符串数组)
- delphi编写的读写.dbf数据库的程序如何打包分发?
- 老千,老鱼,小昂,偶忘了一件事:偶有一个c/s的mis,delphi5+sql7,只是数据库有问题,不知道是文件坏了,还是偶配置的不对(牛虻)
- 关于制作登陆界面,连接远程数据库的时机问题!
- 关于delphi开发的webservice调用问题
AFormat:TPersistFormat=pfADTG);
var
ADOStream:_Stream;
AR:_RecordSet;
begin
ADOStream:=CoStream.Create;
try
ADOStream.Open(EmptyParam,adModeUnknown,adOpenStreamUnspecified,'','');
ADOStream.Position:=0;
if AFormat=pfADTG then
begin
ADOStream.Type_:=adTypeBinary;
ADOStream.Write(AData);
end
else
begin
ADOStream.Type_:=adTypeText;
ADOStream.WriteText(AData,adWriteChar);
end; AR:=CoRecordset.Create;
try
//开启为BatchUpdate,不用ADataSet的LockType和CursorType等
//如果AData里面是多笔pending资料,AR不用Batchupdate会对update的资料无知觉
ADOStream.Position:=0;
AR.CursorLocation:=CursorLocationValues[clUseClient];
AR.Open(ADOStream,EmptyParam,
CursorTypeValues[ctStatic],
LockTypeValues[ltBatchOptimistic],
Integer(CommandTypeValues[cmdText]) + ExecuteOptionsToOrd([]));
//必须为AR挂上Connection,否则BatchUpdate无效
ADataSet.Close;
if ADataSet.Connection<>nil then
begin
if not ADataSet.Connection.Connected then ADataSet.Connection.Open;
//只有open后才能调用_Set_ActiveConnection
AR._Set_ActiveConnection(ADataSet.Connection.ConnectionObject);
end;
ADataSet.LockType:=ltBatchOptimistic;
ADataSet.Recordset:=ADOInt._Recordset(AR);
except
AR:=nil;
Raise;
end;
finally
ADOStream:=nil;
end;
end;
楼主 这样 【从数据库中取出来内容转成Stream后,不生成xml文件直接放到ADOQuery】不如直接 从数据库中取出来内容-》ADOQuery
你没看懂吧,我不是要ADOQuery的字段与数据库中字段一一对应,而是数据库中一个字段对应整个ADOQuery,ADOQuery中的所有数据放到数据库中一个字段值内。
从IDE菜单Project-import type library...引入“Microsoft ActiveX Data Object 2.8 Library”