műszaki dokumentáció

Ha hirtelen kell tenni a programot a hozzáférést az adatbázishoz, és szívesen használja a BDE (vagy lehetetlen) -, ami elég szép lehetőség: használja az ActiveX Data Objects. Azonban használatuk van néhány probléma, és egyikük, hogyan lehet átvinni kötelező paraméterek, amelyeket a fajta elhagyható. Azonban, ha dolgozni ADO egy ember, és nem pedig a fék IDispatch.Invoke kiderül egy fejfájás. Itt van, hogy megszabadulni ez:

var
OptionalParam: OleVariant;
Vardata: PVarData;
kezdődik
OptionalParam: = DISP_E_PARAMNOTFOUND;
Vardata: = @OptionalParam;
Vardata ^ .VType: = varError;

majd a változó átvihető helyett OptionalParam kihasználatlan érv.

Továbbá, legélvezetesebb módja megszerezni Eredménykészlet:

Rengeteg lehetőség, de mint kiderült a következő legjobb opció, amely lehetővé teszi, hogy a kívánt formát a kurzor (a kliens és a szerver)

var
MyConn: _Connection;
MyComm: _Command;
MyRecSet: _Recordset;
PRM1: _Parameter;
kezdődik
MyConn: = CoConnection.Create;
MyConn.ConnectionString: = 'DSN = pub; UID = sa; PWD =;' ; MyConn.Open ( '' '' -1 '' ..);
MyCommand: = CoCommand.Create;
MyCommand.ActiveConnection: = MyConn;
MyCommand.CommandText: = 'SELECT * FROM WHERE blahblah BlahID =?'
PRM1: = MyCommand.CreateParameter ( 'ID' adInteger.adParamInput, -1 .. );
MyCommand.AppendParameter (PRM1);
MyRecSet: = CoRecordSet.Create;
MyRecSet.Open (MyCommand, OptionalParam, adOpenDynamic, adLockReadOnly, adCmdText);

Lekérése rögzíthet. Úgy működik, okosan és hűvös. Örülök. Különösen elégedettek szerver kurzorok.

Tesztelve Delphi 3,02 + ADO 1,5 + MS SQL 6.5 SP4. Eke, mint egy vadállat.

Nyalánkság ADO - könnyen használható bármilyen többszálú alkalmazások, ahol BDE néha nem, kivéve, persze, ODBC driver megfelelően készült.

Nos, akkor is lehet használni az adatok elérésére, ahol minden „nem szabványos” adatbázis típus MS Index Server vagy MS Active Directory Services.

Delphi (legalább 4-es verzió) van egy „konstans” EmptyParam, amely szubsztituált lehet, mint egy üres paramétert.

Kapcsolódó cikkek