Ich benutze seit längeren die ADO Version 2.6 mit D5 & D6 jedoch ist mir folgendes aufgefallen.
Nach dem Importieren der ActiveX data Objects Version 2.6 gab es die
recordset methode Save nicht mehr.
Importiert mann diese Library mit D5 dann funktioniert es auch in D6
Die Dateigrösse ist erheblich grösser bei D6!
gibt es da einen Grund? Wieso der unterschied?
Als beispiel folgende funktion.
<PRE>
uses ADODB_TLB,MSXML2_TLB;
...
function TMyWebservice.GetData: Variant;
var
con : ADODB_TLB.Connection;
cmd : ADODB_TLB.Command;
rs : ADODB_TLB.Recordset;
ra : oleVariant;
xml : MSXML2_TLB.IXMLDOMDocument;
begin
con := CoConnection.Create;
cmd := CoCommand.Create;
try
con.Open('FILE NAME=c:\CONN.UDL', '', '', 0);
cmd.Set_ActiveConnection(con);
cmd.CommandType := adCmdText;
cmd.CommandText := 'SELECT * FROM USERS';
rs := cmd.Execute(ra, emptyParam, 0);
if ra <> 0 then
begin
xml := CoDOMDocument.Create;
//rs.Save(xml, adPersistXML); // Dieses funktioniert in nicht mit der in D6 Importierten ADODB_TLB
Result := xml.xml; //Aber schon mit einer ADODB_TLB die mit D5 importiert wurde
xml := nil;
end;
except on E: Exception do
begin
Result := EmptyStr;
end;
end;
end;
</PRE>
Nach dem Importieren der ActiveX data Objects Version 2.6 gab es die
recordset methode Save nicht mehr.
Importiert mann diese Library mit D5 dann funktioniert es auch in D6
Die Dateigrösse ist erheblich grösser bei D6!
gibt es da einen Grund? Wieso der unterschied?
Als beispiel folgende funktion.
<PRE>
uses ADODB_TLB,MSXML2_TLB;
...
function TMyWebservice.GetData: Variant;
var
con : ADODB_TLB.Connection;
cmd : ADODB_TLB.Command;
rs : ADODB_TLB.Recordset;
ra : oleVariant;
xml : MSXML2_TLB.IXMLDOMDocument;
begin
con := CoConnection.Create;
cmd := CoCommand.Create;
try
con.Open('FILE NAME=c:\CONN.UDL', '', '', 0);
cmd.Set_ActiveConnection(con);
cmd.CommandType := adCmdText;
cmd.CommandText := 'SELECT * FROM USERS';
rs := cmd.Execute(ra, emptyParam, 0);
if ra <> 0 then
begin
xml := CoDOMDocument.Create;
//rs.Save(xml, adPersistXML); // Dieses funktioniert in nicht mit der in D6 Importierten ADODB_TLB
Result := xml.xml; //Aber schon mit einer ADODB_TLB die mit D5 importiert wurde
xml := nil;
end;
except on E: Exception do
begin
Result := EmptyStr;
end;
end;
end;
</PRE>
Comment