00001 {@********************************************************}
00002 { Copyright (c) 1999-2006 Zeos Development Group }
00003 { }
00004 { License Agreement: }
00005 { }
00006 { This library is distributed in the hope that it will be }
00007 { useful, but WITHOUT ANY WARRANTY; without even the }
00008 { implied warranty of MERCHANTABILITY or FITNESS FOR }
00009 { A PARTICULAR PURPOSE. See the GNU Lesser General }
00010 { Public License for more details. }
00011 { }
00012 { The source code of the ZEOS Libraries and packages are }
00013 { distributed under the Library GNU General Public }
00014 { License (see the file COPYING / COPYING.ZEOS) }
00015 { with the following modification: }
00016 { As a special exception, the copyright holders of this }
00017 { library give you permission to link this library with }
00018 { independent modules to produce an executable, }
00019 { regardless of the license terms of these independent }
00020 { modules, and to copy and distribute the resulting }
00021 { executable under terms of your choice, provided that }
00022 { you also meet, for each linked independent module, }
00023 { the terms and conditions of the license of that module. }
00024 { An independent module is a module which is not derived }
00025 { from or based on this library. If you modify this }
00026 { library, you may extend this exception to your version }
00027 { of the library, but you are not obligated to do so. }
00028 { If you do not wish to do so, delete this exception }
00029 { statement from your version. }
00030 { }
00031 { }
00032 { The project web site is located on: }
00033 { http:
00034 { http:
00035 { svn:
00036 { }
00037 { http:
00038 { http:
00039 { }
00040 { }
00041 { }
00042 { Zeos Development Group. }
00043 {********************************************************@}
00044
00045 unit ZPlainAdo;
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082 {$TYPEDADDRESS OFF}
00083 {$WRITEABLECONST ON}
00084
00085 interface
00086
00087 {$I ZPlain.inc}
00088
00089 uses Windows, Classes, ActiveX;
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099 const
00100
00101 ADODBMajorVersion = 2;
00102 ADODBMinorVersion = 7;
00103
00104 LIBID_ADODB: TGUID = '{EF53050B-882E-4776-B643-EDA472E8E3F2}';
00105
00106 IID__Collection: TGUID = '{00000512-0000-0010-8000-00AA006D2EA4}';
00107 IID__DynaCollection: TGUID = '{00000513-0000-0010-8000-00AA006D2EA4}';
00108 IID__ADO: TGUID = '{00000534-0000-0010-8000-00AA006D2EA4}';
00109 IID_Properties: TGUID = '{00000504-0000-0010-8000-00AA006D2EA4}';
00110 IID_Property_: TGUID = '{00000503-0000-0010-8000-00AA006D2EA4}';
00111 IID_Error: TGUID = '{00000500-0000-0010-8000-00AA006D2EA4}';
00112 IID_Errors: TGUID = '{00000501-0000-0010-8000-00AA006D2EA4}';
00113 IID_Command15: TGUID = '{00000508-0000-0010-8000-00AA006D2EA4}';
00114 IID_Connection15: TGUID = '{00000515-0000-0010-8000-00AA006D2EA4}';
00115 IID__Connection: TGUID = '{00000550-0000-0010-8000-00AA006D2EA4}';
00116 IID_Recordset15: TGUID = '{0000050E-0000-0010-8000-00AA006D2EA4}';
00117 IID_Recordset20: TGUID = '{0000054F-0000-0010-8000-00AA006D2EA4}';
00118 IID_Recordset21: TGUID = '{00000555-0000-0010-8000-00AA006D2EA4}';
00119 IID__Recordset: TGUID = '{00000556-0000-0010-8000-00AA006D2EA4}';
00120 IID_Fields15: TGUID = '{00000506-0000-0010-8000-00AA006D2EA4}';
00121 IID_Fields20: TGUID = '{0000054D-0000-0010-8000-00AA006D2EA4}';
00122 IID_Fields: TGUID = '{00000564-0000-0010-8000-00AA006D2EA4}';
00123 IID_Field20: TGUID = '{0000054C-0000-0010-8000-00AA006D2EA4}';
00124 IID_Field: TGUID = '{00000569-0000-0010-8000-00AA006D2EA4}';
00125 IID__Parameter: TGUID = '{0000050C-0000-0010-8000-00AA006D2EA4}';
00126 IID_Parameters: TGUID = '{0000050D-0000-0010-8000-00AA006D2EA4}';
00127 IID_Command25: TGUID = '{0000054E-0000-0010-8000-00AA006D2EA4}';
00128 IID__Command: TGUID = '{B08400BD-F9D1-4D02-B856-71D5DBA123E9}';
00129 IID_ConnectionEventsVt: TGUID = '{00000402-0000-0010-8000-00AA006D2EA4}';
00130 IID_RecordsetEventsVt: TGUID = '{00000403-0000-0010-8000-00AA006D2EA4}';
00131 DIID_ConnectionEvents: TGUID = '{00000400-0000-0010-8000-00AA006D2EA4}';
00132 DIID_RecordsetEvents: TGUID = '{00000266-0000-0010-8000-00AA006D2EA4}';
00133 IID_ADOConnectionConstruction15: TGUID = '{00000516-0000-0010-8000-00AA006D2EA4}';
00134 IID_ADOConnectionConstruction: TGUID = '{00000551-0000-0010-8000-00AA006D2EA4}';
00135 CLASS_Connection: TGUID = '{00000514-0000-0010-8000-00AA006D2EA4}';
00136 IID__Record: TGUID = '{00000562-0000-0010-8000-00AA006D2EA4}';
00137 CLASS_Record_: TGUID = '{00000560-0000-0010-8000-00AA006D2EA4}';
00138 IID__Stream: TGUID = '{00000565-0000-0010-8000-00AA006D2EA4}';
00139 CLASS_Stream: TGUID = '{00000566-0000-0010-8000-00AA006D2EA4}';
00140 IID_ADORecordConstruction: TGUID = '{00000567-0000-0010-8000-00AA006D2EA4}';
00141 IID_ADOStreamConstruction: TGUID = '{00000568-0000-0010-8000-00AA006D2EA4}';
00142 IID_ADOCommandConstruction: TGUID = '{00000517-0000-0010-8000-00AA006D2EA4}';
00143 CLASS_Command: TGUID = '{00000507-0000-0010-8000-00AA006D2EA4}';
00144 CLASS_Recordset: TGUID = '{00000535-0000-0010-8000-00AA006D2EA4}';
00145 IID_ADORecordsetConstruction: TGUID = '{00000283-0000-0010-8000-00AA006D2EA4}';
00146 IID_Field15: TGUID = '{00000505-0000-0010-8000-00AA006D2EA4}';
00147 CLASS_Parameter: TGUID = '{0000050B-0000-0010-8000-00AA006D2EA4}';
00148
00149
00150
00151
00152
00153 type
00154 CursorTypeEnum = TOleEnum;
00155 const
00156 adOpenUnspecified = $FFFFFFFF;
00157 adOpenForwardOnly = $00000000;
00158 adOpenKeyset = $00000001;
00159 adOpenDynamic = $00000002;
00160 adOpenStatic = $00000003;
00161
00162
00163 type
00164 CursorOptionEnum = TOleEnum;
00165 const
00166 adHoldRecords = $00000100;
00167 adMovePrevious = $00000200;
00168 adAddNew = $01000400;
00169 adDelete = $01000800;
00170 adUpdate = $01008000;
00171 adBookmark = $00002000;
00172 adApproxPosition = $00004000;
00173 adUpdateBatch = $00010000;
00174 adResync = $00020000;
00175 adNotify = $00040000;
00176 adFind = $00080000;
00177 adSeek = $00400000;
00178 adIndex = $00800000;
00179
00180
00181 type
00182 LockTypeEnum = TOleEnum;
00183 const
00184 adLockUnspecified = $FFFFFFFF;
00185 adLockReadOnly = $00000001;
00186 adLockPessimistic = $00000002;
00187 adLockOptimistic = $00000003;
00188 adLockBatchOptimistic = $00000004;
00189
00190
00191 type
00192 ExecuteOptionEnum = TOleEnum;
00193 const
00194 adOptionUnspecified = $FFFFFFFF;
00195 adAsyncExecute = $00000010;
00196 adAsyncFetch = $00000020;
00197 adAsyncFetchNonBlocking = $00000040;
00198 adExecuteNoRecords = $00000080;
00199 adExecuteStream = $00000400;
00200 adExecuteRecord = $00000800;
00201
00202
00203 type
00204 ConnectOptionEnum = TOleEnum;
00205 const
00206 adConnectUnspecified = $FFFFFFFF;
00207 adAsyncConnect = $00000010;
00208
00209
00210 type
00211 ObjectStateEnum = TOleEnum;
00212 const
00213 adStateClosed = $00000000;
00214 adStateOpen = $00000001;
00215 adStateConnecting = $00000002;
00216 adStateExecuting = $00000004;
00217 adStateFetching = $00000008;
00218
00219
00220 type
00221 CursorLocationEnum = TOleEnum;
00222 const
00223 adUseNone = $00000001;
00224 adUseServer = $00000002;
00225 adUseClient = $00000003;
00226 adUseClientBatch = $00000003;
00227
00228
00229 type
00230 DataTypeEnum = TOleEnum;
00231 const
00232 adEmpty = $00000000;
00233 adTinyInt = $00000010;
00234 adSmallInt = $00000002;
00235 adInteger = $00000003;
00236 adBigInt = $00000014;
00237 adUnsignedTinyInt = $00000011;
00238 adUnsignedSmallInt = $00000012;
00239 adUnsignedInt = $00000013;
00240 adUnsignedBigInt = $00000015;
00241 adSingle = $00000004;
00242 adDouble = $00000005;
00243 adCurrency = $00000006;
00244 adDecimal = $0000000E;
00245 adNumeric = $00000083;
00246 adBoolean = $0000000B;
00247 adError = $0000000A;
00248 adUserDefined = $00000084;
00249 adVariant = $0000000C;
00250 adIDispatch = $00000009;
00251 adIUnknown = $0000000D;
00252 adGUID = $00000048;
00253 adDate = $00000007;
00254 adDBDate = $00000085;
00255 adDBTime = $00000086;
00256 adDBTimeStamp = $00000087;
00257 adBSTR = $00000008;
00258 adChar = $00000081;
00259 adVarChar = $000000C8;
00260 adLongVarChar = $000000C9;
00261 adWChar = $00000082;
00262 adVarWChar = $000000CA;
00263 adLongVarWChar = $000000CB;
00264 adBinary = $00000080;
00265 adVarBinary = $000000CC;
00266 adLongVarBinary = $000000CD;
00267 adChapter = $00000088;
00268 adFileTime = $00000040;
00269 adPropVariant = $0000008A;
00270 adVarNumeric = $0000008B;
00271 adArray = $00002000;
00272
00273
00274 type
00275 FieldAttributeEnum = TOleEnum;
00276 const
00277 adFldUnspecified = $FFFFFFFF;
00278 adFldMayDefer = $00000002;
00279 adFldUpdatable = $00000004;
00280 adFldUnknownUpdatable = $00000008;
00281 adFldFixed = $00000010;
00282 adFldIsNullable = $00000020;
00283 adFldMayBeNull = $00000040;
00284 adFldLong = $00000080;
00285 adFldRowID = $00000100;
00286 adFldRowVersion = $00000200;
00287 adFldCacheDeferred = $00001000;
00288 adFldIsChapter = $00002000;
00289 adFldNegativeScale = $00004000;
00290 adFldKeyColumn = $00008000;
00291 adFldIsRowURL = $00010000;
00292 adFldIsDefaultStream = $00020000;
00293 adFldIsCollection = $00040000;
00294
00295
00296 type
00297 EditModeEnum = TOleEnum;
00298 const
00299 adEditNone = $00000000;
00300 adEditInProgress = $00000001;
00301 adEditAdd = $00000002;
00302 adEditDelete = $00000004;
00303
00304
00305 type
00306 RecordStatusEnum = TOleEnum;
00307 const
00308 adRecOK = $00000000;
00309 adRecNew = $00000001;
00310 adRecModified = $00000002;
00311 adRecDeleted = $00000004;
00312 adRecUnmodified = $00000008;
00313 adRecInvalid = $00000010;
00314 adRecMultipleChanges = $00000040;
00315 adRecPendingChanges = $00000080;
00316 adRecCanceled = $00000100;
00317 adRecCantRelease = $00000400;
00318 adRecConcurrencyViolation = $00000800;
00319 adRecIntegrityViolation = $00001000;
00320 adRecMaxChangesExceeded = $00002000;
00321 adRecObjectOpen = $00004000;
00322 adRecOutOfMemory = $00008000;
00323 adRecPermissionDenied = $00010000;
00324 adRecSchemaViolation = $00020000;
00325 adRecDBDeleted = $00040000;
00326
00327
00328 type
00329 GetRowsOptionEnum = TOleEnum;
00330 const
00331 adGetRowsRest = $FFFFFFFF;
00332
00333
00334 type
00335 PositionEnum = TOleEnum;
00336 const
00337 adPosUnknown = $FFFFFFFF;
00338 adPosBOF = $FFFFFFFE;
00339 adPosEOF = $FFFFFFFD;
00340
00341
00342 type
00343 BookmarkEnum = TOleEnum;
00344 const
00345 adBookmarkCurrent = $00000000;
00346 adBookmarkFirst = $00000001;
00347 adBookmarkLast = $00000002;
00348
00349
00350 type
00351 MarshalOptionsEnum = TOleEnum;
00352 const
00353 adMarshalAll = $00000000;
00354 adMarshalModifiedOnly = $00000001;
00355
00356
00357 type
00358 AffectEnum = TOleEnum;
00359 const
00360 adAffectCurrent = $00000001;
00361 adAffectGroup = $00000002;
00362 adAffectAll = $00000003;
00363 adAffectAllChapters = $00000004;
00364
00365
00366 type
00367 ResyncEnum = TOleEnum;
00368 const
00369 adResyncUnderlyingValues = $00000001;
00370 adResyncAllValues = $00000002;
00371
00372
00373 type
00374 CompareEnum = TOleEnum;
00375 const
00376 adCompareLessThan = $00000000;
00377 adCompareEqual = $00000001;
00378 adCompareGreaterThan = $00000002;
00379 adCompareNotEqual = $00000003;
00380 adCompareNotComparable = $00000004;
00381
00382
00383 type
00384 FilterGroupEnum = TOleEnum;
00385 const
00386 adFilterNone = $00000000;
00387 adFilterPendingRecords = $00000001;
00388 adFilterAffectedRecords = $00000002;
00389 adFilterFetchedRecords = $00000003;
00390 adFilterPredicate = $00000004;
00391 adFilterConflictingRecords = $00000005;
00392
00393
00394 type
00395 SearchDirectionEnum = TOleEnum;
00396 const
00397 adSearchForward = $00000001;
00398 adSearchBackward = $FFFFFFFF;
00399
00400
00401 type
00402 PersistFormatEnum = TOleEnum;
00403 const
00404 adPersistADTG = $00000000;
00405 adPersistXML = $00000001;
00406
00407
00408 type
00409 StringFormatEnum = TOleEnum;
00410 const
00411 adClipString = $00000002;
00412
00413
00414 type
00415 ConnectPromptEnum = TOleEnum;
00416 const
00417 adPromptAlways = $00000001;
00418 adPromptComplete = $00000002;
00419 adPromptCompleteRequired = $00000003;
00420 adPromptNever = $00000004;
00421
00422
00423 type
00424 ConnectModeEnum = TOleEnum;
00425 const
00426 adModeUnknown = $00000000;
00427 adModeRead = $00000001;
00428 adModeWrite = $00000002;
00429 adModeReadWrite = $00000003;
00430 adModeShareDenyRead = $00000004;
00431 adModeShareDenyWrite = $00000008;
00432 adModeShareExclusive = $0000000C;
00433 adModeShareDenyNone = $00000010;
00434 adModeRecursive = $00400000;
00435
00436
00437 type
00438 RecordCreateOptionsEnum = TOleEnum;
00439 const
00440 adCreateCollection = $00002000;
00441 adCreateStructDoc = $80000000;
00442 adCreateNonCollection = $00000000;
00443 adOpenIfExists = $02000000;
00444 adCreateOverwrite = $04000000;
00445 adFailIfNotExists = $FFFFFFFF;
00446
00447
00448 type
00449 RecordOpenOptionsEnum = TOleEnum;
00450 const
00451 adOpenRecordUnspecified = $FFFFFFFF;
00452 adOpenSource = $00800000;
00453 adOpenOutput = $00800000;
00454 adOpenAsync = $00001000;
00455 adDelayFetchStream = $00004000;
00456 adDelayFetchFields = $00008000;
00457 adOpenExecuteCommand = $00010000;
00458
00459
00460 type
00461 IsolationLevelEnum = TOleEnum;
00462 const
00463 adXactUnspecified = $FFFFFFFF;
00464 adXactChaos = $00000010;
00465 adXactReadUncommitted = $00000100;
00466 adXactBrowse = $00000100;
00467 adXactCursorStability = $00001000;
00468 adXactReadCommitted = $00001000;
00469 adXactRepeatableRead = $00010000;
00470 adXactSerializable = $00100000;
00471 adXactIsolated = $00100000;
00472
00473
00474 type
00475 XactAttributeEnum = TOleEnum;
00476 const
00477 adXactCommitRetaining = $00020000;
00478 adXactAbortRetaining = $00040000;
00479 adXactAsyncPhaseOne = $00080000;
00480 adXactSyncPhaseOne = $00100000;
00481
00482
00483 type
00484 PropertyAttributesEnum = TOleEnum;
00485 const
00486 adPropNotSupported = $00000000;
00487 adPropRequired = $00000001;
00488 adPropOptional = $00000002;
00489 adPropRead = $00000200;
00490 adPropWrite = $00000400;
00491
00492
00493 type
00494 ErrorValueEnum = TOleEnum;
00495 const
00496 adErrProviderFailed = $00000BB8;
00497 adErrInvalidArgument = $00000BB9;
00498 adErrOpeningFile = $00000BBA;
00499 adErrReadFile = $00000BBB;
00500 adErrWriteFile = $00000BBC;
00501 adErrNoCurrentRecord = $00000BCD;
00502 adErrIllegalOperation = $00000C93;
00503 adErrCantChangeProvider = $00000C94;
00504 adErrInTransaction = $00000CAE;
00505 adErrFeatureNotAvailable = $00000CB3;
00506 adErrItemNotFound = $00000CC1;
00507 adErrObjectInCollection = $00000D27;
00508 adErrObjectNotSet = $00000D5C;
00509 adErrDataConversion = $00000D5D;
00510 adErrObjectClosed = $00000E78;
00511 adErrObjectOpen = $00000E79;
00512 adErrProviderNotFound = $00000E7A;
00513 adErrBoundToCommand = $00000E7B;
00514 adErrInvalidParamInfo = $00000E7C;
00515 adErrInvalidConnection = $00000E7D;
00516 adErrNotReentrant = $00000E7E;
00517 adErrStillExecuting = $00000E7F;
00518 adErrOperationCancelled = $00000E80;
00519 adErrStillConnecting = $00000E81;
00520 adErrInvalidTransaction = $00000E82;
00521 adErrNotExecuting = $00000E83;
00522 adErrUnsafeOperation = $00000E84;
00523 adwrnSecurityDialog = $00000E85;
00524 adwrnSecurityDialogHeader = $00000E86;
00525 adErrIntegrityViolation = $00000E87;
00526 adErrPermissionDenied = $00000E88;
00527 adErrDataOverflow = $00000E89;
00528 adErrSchemaViolation = $00000E8A;
00529 adErrSignMismatch = $00000E8B;
00530 adErrCantConvertvalue = $00000E8C;
00531 adErrCantCreate = $00000E8D;
00532 adErrColumnNotOnThisRow = $00000E8E;
00533 adErrURLDoesNotExist = $00000E8F;
00534 adErrTreePermissionDenied = $00000E90;
00535 adErrInvalidURL = $00000E91;
00536 adErrResourceLocked = $00000E92;
00537 adErrResourceExists = $00000E93;
00538 adErrCannotComplete = $00000E94;
00539 adErrVolumeNotFound = $00000E95;
00540 adErrOutOfSpace = $00000E96;
00541 adErrResourceOutOfScope = $00000E97;
00542 adErrUnavailable = $00000E98;
00543 adErrURLNamedRowDoesNotExist = $00000E99;
00544 adErrDelResOutOfScope = $00000E9A;
00545 adErrPropInvalidColumn = $00000E9B;
00546 adErrPropInvalidOption = $00000E9C;
00547 adErrPropInvalidValue = $00000E9D;
00548 adErrPropConflicting = $00000E9E;
00549 adErrPropNotAllSettable = $00000E9F;
00550 adErrPropNotSet = $00000EA0;
00551 adErrPropNotSettable = $00000EA1;
00552 adErrPropNotSupported = $00000EA2;
00553 adErrCatalogNotSet = $00000EA3;
00554 adErrCantChangeConnection = $00000EA4;
00555 adErrFieldsUpdateFailed = $00000EA5;
00556 adErrDenyNotSupported = $00000EA6;
00557 adErrDenyTypeNotSupported = $00000EA7;
00558 adErrProviderNotSpecified = $00000EA9;
00559
00560
00561 type
00562 ParameterAttributesEnum = TOleEnum;
00563 const
00564 adParamSigned = $00000010;
00565 adParamNullable = $00000040;
00566 adParamLong = $00000080;
00567
00568
00569 type
00570 ParameterDirectionEnum = TOleEnum;
00571 const
00572 adParamUnknown = $00000000;
00573 adParamInput = $00000001;
00574 adParamOutput = $00000002;
00575 adParamInputOutput = $00000003;
00576 adParamReturnValue = $00000004;
00577
00578
00579 type
00580 CommandTypeEnum = TOleEnum;
00581 const
00582 adCmdUnspecified = $FFFFFFFF;
00583 adCmdUnknown = $00000008;
00584 adCmdText = $00000001;
00585 adCmdTable = $00000002;
00586 adCmdStoredProc = $00000004;
00587 adCmdFile = $00000100;
00588 adCmdTableDirect = $00000200;
00589
00590
00591 type
00592 EventStatusEnum = TOleEnum;
00593 const
00594 adStatusOK = $00000001;
00595 adStatusErrorsOccurred = $00000002;
00596 adStatusCantDeny = $00000003;
00597 adStatusCancel = $00000004;
00598 adStatusUnwantedEvent = $00000005;
00599
00600
00601 type
00602 EventReasonEnum = TOleEnum;
00603 const
00604 adRsnAddNew = $00000001;
00605 adRsnDelete = $00000002;
00606 adRsnUpdate = $00000003;
00607 adRsnUndoUpdate = $00000004;
00608 adRsnUndoAddNew = $00000005;
00609 adRsnUndoDelete = $00000006;
00610 adRsnRequery = $00000007;
00611 adRsnResynch = $00000008;
00612 adRsnClose = $00000009;
00613 adRsnMove = $0000000A;
00614 adRsnFirstChange = $0000000B;
00615 adRsnMoveFirst = $0000000C;
00616 adRsnMoveNext = $0000000D;
00617 adRsnMovePrevious = $0000000E;
00618 adRsnMoveLast = $0000000F;
00619
00620
00621 type
00622 SchemaEnum = TOleEnum;
00623 const
00624 adSchemaProviderSpecific = $FFFFFFFF;
00625 adSchemaAsserts = $00000000;
00626 adSchemaCatalogs = $00000001;
00627 adSchemaCharacterSets = $00000002;
00628 adSchemaCollations = $00000003;
00629 adSchemaColumns = $00000004;
00630 adSchemaCheckConstraints = $00000005;
00631 adSchemaConstraintColumnUsage = $00000006;
00632 adSchemaConstraintTableUsage = $00000007;
00633 adSchemaKeyColumnUsage = $00000008;
00634 adSchemaReferentialContraints = $00000009;
00635 adSchemaReferentialConstraints = $00000009;
00636 adSchemaTableConstraints = $0000000A;
00637 adSchemaColumnsDomainUsage = $0000000B;
00638 adSchemaIndexes = $0000000C;
00639 adSchemaColumnPrivileges = $0000000D;
00640 adSchemaTablePrivileges = $0000000E;
00641 adSchemaUsagePrivileges = $0000000F;
00642 adSchemaProcedures = $00000010;
00643 adSchemaSchemata = $00000011;
00644 adSchemaSQLLanguages = $00000012;
00645 adSchemaStatistics = $00000013;
00646 adSchemaTables = $00000014;
00647 adSchemaTranslations = $00000015;
00648 adSchemaProviderTypes = $00000016;
00649 adSchemaViews = $00000017;
00650 adSchemaViewColumnUsage = $00000018;
00651 adSchemaViewTableUsage = $00000019;
00652 adSchemaProcedureParameters = $0000001A;
00653 adSchemaForeignKeys = $0000001B;
00654 adSchemaPrimaryKeys = $0000001C;
00655 adSchemaProcedureColumns = $0000001D;
00656 adSchemaDBInfoKeywords = $0000001E;
00657 adSchemaDBInfoLiterals = $0000001F;
00658 adSchemaCubes = $00000020;
00659 adSchemaDimensions = $00000021;
00660 adSchemaHierarchies = $00000022;
00661 adSchemaLevels = $00000023;
00662 adSchemaMeasures = $00000024;
00663 adSchemaProperties = $00000025;
00664 adSchemaMembers = $00000026;
00665 adSchemaTrustees = $00000027;
00666 adSchemaFunctions = $00000028;
00667 adSchemaActions = $00000029;
00668 adSchemaCommands = $0000002A;
00669 adSchemaSets = $0000002B;
00670
00671
00672 type
00673 FieldStatusEnum = TOleEnum;
00674 const
00675 adFieldOK = $00000000;
00676 adFieldCantConvertValue = $00000002;
00677 adFieldIsNull = $00000003;
00678 adFieldTruncated = $00000004;
00679 adFieldSignMismatch = $00000005;
00680 adFieldDataOverflow = $00000006;
00681 adFieldCantCreate = $00000007;
00682 adFieldUnavailable = $00000008;
00683 adFieldPermissionDenied = $00000009;
00684 adFieldIntegrityViolation = $0000000A;
00685 adFieldSchemaViolation = $0000000B;
00686 adFieldBadStatus = $0000000C;
00687 adFieldDefault = $0000000D;
00688 adFieldIgnore = $0000000F;
00689 adFieldDoesNotExist = $00000010;
00690 adFieldInvalidURL = $00000011;
00691 adFieldResourceLocked = $00000012;
00692 adFieldResourceExists = $00000013;
00693 adFieldCannotComplete = $00000014;
00694 adFieldVolumeNotFound = $00000015;
00695 adFieldOutOfSpace = $00000016;
00696 adFieldCannotDeleteSource = $00000017;
00697 adFieldReadOnly = $00000018;
00698 adFieldResourceOutOfScope = $00000019;
00699 adFieldAlreadyExists = $0000001A;
00700 adFieldPendingInsert = $00010000;
00701 adFieldPendingDelete = $00020000;
00702 adFieldPendingChange = $00040000;
00703 adFieldPendingUnknown = $00080000;
00704 adFieldPendingUnknownDelete = $00100000;
00705
00706
00707 type
00708 SeekEnum = TOleEnum;
00709 const
00710 adSeekFirstEQ = $00000001;
00711 adSeekLastEQ = $00000002;
00712 adSeekAfterEQ = $00000004;
00713 adSeekAfter = $00000008;
00714 adSeekBeforeEQ = $00000010;
00715 adSeekBefore = $00000020;
00716
00717
00718 type
00719 ADCPROP_UPDATECRITERIA_ENUM = TOleEnum;
00720 const
00721 adCriteriaKey = $00000000;
00722 adCriteriaAllCols = $00000001;
00723 adCriteriaUpdCols = $00000002;
00724 adCriteriaTimeStamp = $00000003;
00725
00726
00727 type
00728 ADCPROP_ASYNCTHREADPRIORITY_ENUM = TOleEnum;
00729 const
00730 adPriorityLowest = $00000001;
00731 adPriorityBelowNormal = $00000002;
00732 adPriorityNormal = $00000003;
00733 adPriorityAboveNormal = $00000004;
00734 adPriorityHighest = $00000005;
00735
00736
00737 type
00738 ADCPROP_AUTORECALC_ENUM = TOleEnum;
00739 const
00740 adRecalcUpFront = $00000000;
00741 adRecalcAlways = $00000001;
00742
00743
00744 type
00745 ADCPROP_UPDATERESYNC_ENUM = TOleEnum;
00746 const
00747 adResyncNone = $00000000;
00748 adResyncAutoIncrement = $00000001;
00749 adResyncConflicts = $00000002;
00750 adResyncUpdates = $00000004;
00751 adResyncInserts = $00000008;
00752 adResyncAll = $0000000F;
00753
00754
00755 type
00756 MoveRecordOptionsEnum = TOleEnum;
00757 const
00758 adMoveUnspecified = $FFFFFFFF;
00759 adMoveOverWrite = $00000001;
00760 adMoveDontUpdateLinks = $00000002;
00761 adMoveAllowEmulation = $00000004;
00762
00763
00764 type
00765 CopyRecordOptionsEnum = TOleEnum;
00766 const
00767 adCopyUnspecified = $FFFFFFFF;
00768 adCopyOverWrite = $00000001;
00769 adCopyAllowEmulation = $00000004;
00770 adCopyNonRecursive = $00000002;
00771
00772
00773 type
00774 StreamTypeEnum = TOleEnum;
00775 const
00776 adTypeBinary = $00000001;
00777 adTypeText = $00000002;
00778
00779
00780 type
00781 LineSeparatorEnum = TOleEnum;
00782 const
00783 adLF = $0000000A;
00784 adCR = $0000000D;
00785 adCRLF = $FFFFFFFF;
00786
00787
00788 type
00789 StreamOpenOptionsEnum = TOleEnum;
00790 const
00791 adOpenStreamUnspecified = $FFFFFFFF;
00792 adOpenStreamAsync = $00000001;
00793 adOpenStreamFromRecord = $00000004;
00794
00795
00796 type
00797 StreamWriteEnum = TOleEnum;
00798 const
00799 adWriteChar = $00000000;
00800 adWriteLine = $00000001;
00801 stWriteChar = $00000000;
00802 stWriteLine = $00000001;
00803
00804
00805 type
00806 SaveOptionsEnum = TOleEnum;
00807 const
00808 adSaveCreateNotExist = $00000001;
00809 adSaveCreateOverWrite = $00000002;
00810
00811
00812 type
00813 FieldEnum = TOleEnum;
00814 const
00815 adDefaultStream = $FFFFFFFF;
00816 adRecordURL = $FFFFFFFE;
00817
00818
00819 type
00820 StreamReadEnum = TOleEnum;
00821 const
00822 adReadAll = $FFFFFFFF;
00823 adReadLine = $FFFFFFFE;
00824
00825
00826 type
00827 RecordTypeEnum = TOleEnum;
00828 const
00829 adSimpleRecord = $00000000;
00830 adCollectionRecord = $00000001;
00831 adStructDoc = $00000002;
00832
00833 type
00834
00835
00836
00837
00838 _Collection = interface;
00839 _DynaCollection = interface;
00840 _ADO = interface;
00841 Properties = interface;
00842 Property_ = interface;
00843 Error = interface;
00844 Errors = interface;
00845 Command15 = interface;
00846 Connection15 = interface;
00847 _Connection = interface;
00848 Recordset15 = interface;
00849 Recordset20 = interface;
00850 Recordset21 = interface;
00851 _Recordset = interface;
00852 Fields15 = interface;
00853 Fields20 = interface;
00854 Fields = interface;
00855 Field20 = interface;
00856 Field = interface;
00857 _Parameter = interface;
00858 Parameters = interface;
00859 Command25 = interface;
00860 _Command = interface;
00861 ConnectionEventsVt = interface;
00862 RecordsetEventsVt = interface;
00863 ADOConnectionConstruction15 = interface;
00864 ADOConnectionConstruction = interface;
00865 _Record = interface;
00866 _Stream = interface;
00867 ADORecordConstruction = interface;
00868 ADOStreamConstruction = interface;
00869 ADOCommandConstruction = interface;
00870 ADORecordsetConstruction = interface;
00871 Field15 = interface;
00872
00873
00874
00875
00876
00877
00878 POleVariant1 = ^OleVariant; {*}
00879
00880 PositionEnum_Param = PositionEnum;
00881 SearchDirection = SearchDirectionEnum;
00882 ADO_LONGPTR = Integer;
00883
00884
00885
00886
00887
00888
00889 _Collection = interface(IDispatch)
00890 ['{00000512-0000-0010-8000-00AA006D2EA4}']
00891 function Get_Count: Integer; safecall;
00892 function _NewEnum: IUnknown; safecall;
00893 procedure Refresh; safecall;
00894 property Count: Integer read Get_Count;
00895 end;
00896
00897
00898
00899
00900
00901
00902 _DynaCollection = interface(_Collection)
00903 ['{00000513-0000-0010-8000-00AA006D2EA4}']
00904 procedure Append(const Object_: IDispatch); safecall;
00905 procedure Delete(Index: OleVariant); safecall;
00906 end;
00907
00908
00909
00910
00911
00912
00913 _ADO = interface(IDispatch)
00914 ['{00000534-0000-0010-8000-00AA006D2EA4}']
00915 function Get_Properties: Properties; safecall;
00916 property Properties: Properties read Get_Properties;
00917 end;
00918
00919
00920
00921
00922
00923
00924 Properties = interface(_Collection)
00925 ['{00000504-0000-0010-8000-00AA006D2EA4}']
00926 function Get_Item(Index: OleVariant): Property_; safecall;
00927 property Item[Index: OleVariant]: Property_ read Get_Item; default;
00928 end;
00929
00930
00931
00932
00933
00934
00935 Property_ = interface(IDispatch)
00936 ['{00000503-0000-0010-8000-00AA006D2EA4}']
00937 function Get_Value: OleVariant; safecall;
00938 procedure Set_Value(pval: OleVariant); safecall;
00939 function Get_Name: WideString; safecall;
00940 function Get_Type_: DataTypeEnum; safecall;
00941 function Get_Attributes: Integer; safecall;
00942 procedure Set_Attributes(plAttributes: Integer); safecall;
00943 property Value: OleVariant read Get_Value write Set_Value;
00944 property Name: WideString read Get_Name;
00945 property Type_: DataTypeEnum read Get_Type_;
00946 property Attributes: Integer read Get_Attributes;
00947 end;
00948
00949
00950
00951
00952
00953
00954 Error = interface(IDispatch)
00955 ['{00000500-0000-0010-8000-00AA006D2EA4}']
00956 function Get_Number: Integer; safecall;
00957 function Get_Source: WideString; safecall;
00958 function Get_Description: WideString; safecall;
00959 function Get_HelpFile: WideString; safecall;
00960 function Get_HelpContext: Integer; safecall;
00961 function Get_SQLState: WideString; safecall;
00962 function Get_NativeError: Integer; safecall;
00963 property Number: Integer read Get_Number;
00964 property Source: WideString read Get_Source;
00965 property Description: WideString read Get_Description;
00966 property HelpFile: WideString read Get_HelpFile;
00967 property HelpContext: Integer read Get_HelpContext;
00968 property SQLState: WideString read Get_SQLState;
00969 property NativeError: Integer read Get_NativeError;
00970 end;
00971
00972
00973
00974
00975
00976
00977 Errors = interface(_Collection)
00978 ['{00000501-0000-0010-8000-00AA006D2EA4}']
00979 function Get_Item(Index: OleVariant): Error; safecall;
00980 procedure Clear; safecall;
00981 property Item[Index: OleVariant]: Error read Get_Item; default;
00982 end;
00983
00984
00985
00986
00987
00988
00989 Command15 = interface(_ADO)
00990 ['{00000508-0000-0010-8000-00AA006D2EA4}']
00991 function Get_ActiveConnection: Connection15; safecall;
00992 procedure _Set_ActiveConnection(const ppvObject: Connection15); safecall;
00993 procedure Set_ActiveConnection(ppvObject: OleVariant); safecall;
00994 function Get_CommandText: WideString; safecall;
00995 procedure Set_CommandText(const pbstr: WideString); safecall;
00996 function Get_CommandTimeout: Integer; safecall;
00997 procedure Set_CommandTimeout(pl: Integer); safecall;
00998 function Get_Prepared: WordBool; safecall;
00999 procedure Set_Prepared(pfPrepared: WordBool); safecall;
01000 function Execute(out RecordsAffected: OleVariant; const Parameters: OleVariant; Options: Integer): Recordset15; safecall;
01001 function CreateParameter(const Name: WideString; Type_: DataTypeEnum;
01002 Direction: ParameterDirectionEnum; Size: ADO_LONGPTR; Value: OleVariant): _Parameter; safecall;
01003 function Get_Parameters: Parameters; safecall;
01004 procedure Set_CommandType(plCmdType: CommandTypeEnum); safecall;
01005 function Get_CommandType: CommandTypeEnum; safecall;
01006 function Get_Name: WideString; safecall;
01007 procedure Set_Name(const pbstrName: WideString); safecall;
01008 property CommandText: WideString read Get_CommandText write Set_CommandText;
01009 property CommandTimeout: Integer read Get_CommandTimeout write Set_CommandTimeout;
01010 property Prepared: WordBool read Get_Prepared write Set_Prepared;
01011 property Parameters: Parameters read Get_Parameters;
01012 property CommandType: CommandTypeEnum read Get_CommandType write Set_CommandType;
01013 property Name: WideString read Get_Name write Set_Name;
01014 end;
01015
01016
01017
01018
01019
01020
01021 Connection15 = interface(_ADO)
01022 ['{00000515-0000-0010-8000-00AA006D2EA4}']
01023 function Get_ConnectionString: WideString; safecall;
01024 procedure Set_ConnectionString(const pbstr: WideString); safecall;
01025 function Get_CommandTimeout: Integer; safecall;
01026 procedure Set_CommandTimeout(plTimeout: Integer); safecall;
01027 function Get_ConnectionTimeout: Integer; safecall;
01028 procedure Set_ConnectionTimeout(plTimeout: Integer); safecall;
01029 function Get_Version: WideString; safecall;
01030 procedure Close; safecall;
01031 function Execute(const CommandText: WideString; out RecordsAffected: OleVariant;
01032 Options: Integer): Recordset15; safecall;
01033 function BeginTrans: Integer; safecall;
01034 procedure CommitTrans; safecall;
01035 procedure RollbackTrans; safecall;
01036 procedure Open(const ConnectionString: WideString; const UserID: WideString;
01037 const Password: WideString; Options: Integer); safecall;
01038 function Get_Errors: Errors; safecall;
01039 function Get_DefaultDatabase: WideString; safecall;
01040 procedure Set_DefaultDatabase(const pbstr: WideString); safecall;
01041 function Get_IsolationLevel: IsolationLevelEnum; safecall;
01042 procedure Set_IsolationLevel(Level: IsolationLevelEnum); safecall;
01043 function Get_Attributes: Integer; safecall;
01044 procedure Set_Attributes(plAttr: Integer); safecall;
01045 function Get_CursorLocation: CursorLocationEnum; safecall;
01046 procedure Set_CursorLocation(plCursorLoc: CursorLocationEnum); safecall;
01047 function Get_Mode: ConnectModeEnum; safecall;
01048 procedure Set_Mode(plMode: ConnectModeEnum); safecall;
01049 function Get_Provider: WideString; safecall;
01050 procedure Set_Provider(const pbstr: WideString); safecall;
01051 function Get_State: Integer; safecall;
01052 function OpenSchema(Schema: SchemaEnum; Restrictions: OleVariant; SchemaID: OleVariant): Recordset15; safecall;
01053 property ConnectionString: WideString read Get_ConnectionString write Set_ConnectionString;
01054 property CommandTimeout: Integer read Get_CommandTimeout write Set_CommandTimeout;
01055 property ConnectionTimeout: Integer read Get_ConnectionTimeout write Set_ConnectionTimeout;
01056 property Version: WideString read Get_Version;
01057 property Errors: Errors read Get_Errors;
01058 property DefaultDatabase: WideString read Get_DefaultDatabase write Set_DefaultDatabase;
01059 property IsolationLevel: IsolationLevelEnum read Get_IsolationLevel write Set_IsolationLevel;
01060 property Attributes: Integer read Get_Attributes write Set_Attributes;
01061 property CursorLocation: CursorLocationEnum read Get_CursorLocation write Set_CursorLocation;
01062 property Mode: ConnectModeEnum read Get_Mode write Set_Mode;
01063 property Provider: WideString read Get_Provider write Set_Provider;
01064 property State: Integer read Get_State;
01065 end;
01066
01067
01068
01069
01070
01071
01072 _Connection = interface(Connection15)
01073 ['{00000550-0000-0010-8000-00AA006D2EA4}']
01074 procedure Cancel; safecall;
01075 end;
01076
01077
01078
01079
01080
01081
01082 Recordset15 = interface(_ADO)
01083 ['{0000050E-0000-0010-8000-00AA006D2EA4}']
01084 function Get_AbsolutePosition: PositionEnum_Param; safecall;
01085 procedure Set_AbsolutePosition(pl: PositionEnum_Param); safecall;
01086 procedure _Set_ActiveConnection(const pvar: IDispatch); safecall;
01087 procedure Set_ActiveConnection(pvar: OleVariant); safecall;
01088 function Get_ActiveConnection: OleVariant; safecall;
01089 function Get_BOF: WordBool; safecall;
01090 function Get_Bookmark: OleVariant; safecall;
01091 procedure Set_Bookmark(pvBookmark: OleVariant); safecall;
01092 function Get_CacheSize: Integer; safecall;
01093 procedure Set_CacheSize(pl: Integer); safecall;
01094 function Get_CursorType: CursorTypeEnum; safecall;
01095 procedure Set_CursorType(plCursorType: CursorTypeEnum); safecall;
01096 function Get_EOF: WordBool; safecall;
01097 function Get_Fields: Fields15; safecall;
01098 function Get_LockType: LockTypeEnum; safecall;
01099 procedure Set_LockType(plLockType: LockTypeEnum); safecall;
01100 function Get_MaxRecords: ADO_LONGPTR; safecall;
01101 procedure Set_MaxRecords(plMaxRecords: ADO_LONGPTR); safecall;
01102 function Get_RecordCount: ADO_LONGPTR; safecall;
01103 procedure _Set_Source(const pvSource: IDispatch); safecall;
01104 procedure Set_Source(const pvSource: WideString); safecall;
01105 function Get_Source: OleVariant; safecall;
01106 procedure AddNew(FieldList: OleVariant; Values: OleVariant); safecall;
01107 procedure CancelUpdate; safecall;
01108 procedure Close; safecall;
01109 procedure Delete(AffectRecords: AffectEnum); safecall;
01110 function GetRows(Rows: Integer; Start: OleVariant; Fields: OleVariant): OleVariant; safecall;
01111 procedure Move(NumRecords: ADO_LONGPTR; Start: OleVariant); safecall;
01112 procedure MoveNext; safecall;
01113 procedure MovePrevious; safecall;
01114 procedure MoveFirst; safecall;
01115 procedure MoveLast; safecall;
01116 procedure Open(Source: OleVariant; ActiveConnection: OleVariant; CursorType: CursorTypeEnum;
01117 LockType: LockTypeEnum; Options: Integer); safecall;
01118 procedure Requery(Options: Integer); safecall;
01119 procedure _xResync(AffectRecords: AffectEnum); safecall;
01120 procedure Update(Fields: OleVariant; Values: OleVariant); safecall;
01121 function Get_AbsolutePage: PositionEnum_Param; safecall;
01122 procedure Set_AbsolutePage(pl: PositionEnum_Param); safecall;
01123 function Get_EditMode: EditModeEnum; safecall;
01124 function Get_Filter: OleVariant; safecall;
01125 procedure Set_Filter(Criteria: OleVariant); safecall;
01126 function Get_PageCount: ADO_LONGPTR; safecall;
01127 function Get_PageSize: Integer; safecall;
01128 procedure Set_PageSize(pl: Integer); safecall;
01129 function Get_Sort: WideString; safecall;
01130 procedure Set_Sort(const Criteria: WideString); safecall;
01131 function Get_Status: Integer; safecall;
01132 function Get_State: Integer; safecall;
01133 function _xClone: Recordset15; safecall;
01134 procedure UpdateBatch(AffectRecords: AffectEnum); safecall;
01135 procedure CancelBatch(AffectRecords: AffectEnum); safecall;
01136 function Get_CursorLocation: CursorLocationEnum; safecall;
01137 procedure Set_CursorLocation(plCursorLoc: CursorLocationEnum); safecall;
01138 function NextRecordset(out RecordsAffected: OleVariant): Recordset15; safecall;
01139 function Supports(CursorOptions: CursorOptionEnum): WordBool; safecall;
01140 function Get_Collect(Index: OleVariant): OleVariant; safecall;
01141 procedure Set_Collect(Index: OleVariant; pvar: OleVariant); safecall;
01142 function Get_MarshalOptions: MarshalOptionsEnum; safecall;
01143 procedure Set_MarshalOptions(peMarshal: MarshalOptionsEnum); safecall;
01144 procedure Find(const Criteria: WideString; SkipRecords: ADO_LONGPTR;
01145 SearchDirection: SearchDirectionEnum; Start: OleVariant); safecall;
01146 property AbsolutePosition: PositionEnum_Param read Get_AbsolutePosition write Set_AbsolutePosition;
01147 property Bof: WordBool read Get_BOF;
01148 property Bookmark: OleVariant read Get_Bookmark write Set_Bookmark;
01149 property CacheSize: Integer read Get_CacheSize write Set_CacheSize;
01150 property CursorType: CursorTypeEnum read Get_CursorType write Set_CursorType;
01151 property Eof: WordBool read Get_EOF;
01152 property Fields: Fields15 read Get_Fields;
01153 property LockType: LockTypeEnum read Get_LockType write Set_LockType;
01154 property MaxRecords: ADO_LONGPTR read Get_MaxRecords write Set_MaxRecords;
01155 property RecordCount: ADO_LONGPTR read Get_RecordCount;
01156 property AbsolutePage: PositionEnum_Param read Get_AbsolutePage write Set_AbsolutePage;
01157 property EditMode: EditModeEnum read Get_EditMode;
01158 property Filter: OleVariant read Get_Filter write Set_Filter;
01159 property PageCount: ADO_LONGPTR read Get_PageCount;
01160 property PageSize: Integer read Get_PageSize write Set_PageSize;
01161 property Sort: WideString read Get_Sort write Set_Sort;
01162 property Status: Integer read Get_Status;
01163 property State: Integer read Get_State;
01164 property CursorLocation: CursorLocationEnum read Get_CursorLocation write Set_CursorLocation;
01165 property Collect[Index: OleVariant]: OleVariant read Get_Collect write Set_Collect;
01166 property MarshalOptions: MarshalOptionsEnum read Get_MarshalOptions write Set_MarshalOptions;
01167 end;
01168
01169
01170
01171
01172
01173
01174 Recordset20 = interface(Recordset15)
01175 ['{0000054F-0000-0010-8000-00AA006D2EA4}']
01176 procedure Cancel; safecall;
01177 function Get_DataSource: IUnknown; safecall;
01178 procedure _Set_DataSource(const ppunkDataSource: IUnknown); safecall;
01179 procedure _xSave(const FileName: WideString; PersistFormat: PersistFormatEnum); safecall;
01180 function Get_ActiveCommand: IDispatch; safecall;
01181 procedure Set_StayInSync(pbStayInSync: WordBool); safecall;
01182 function Get_StayInSync: WordBool; safecall;
01183 function GetString(StringFormat: StringFormatEnum; NumRows: Integer;
01184 const ColumnDelimeter: WideString; const RowDelimeter: WideString;
01185 const NullExpr: WideString): WideString; safecall;
01186 function Get_DataMember: WideString; safecall;
01187 procedure Set_DataMember(const pbstrDataMember: WideString); safecall;
01188 function CompareBookmarks(Bookmark1: OleVariant; Bookmark2: OleVariant): CompareEnum; safecall;
01189 function Clone(LockType: LockTypeEnum): Recordset15; safecall;
01190 procedure Resync(AffectRecords: AffectEnum; ResyncValues: ResyncEnum); safecall;
01191 property DataSource: IUnknown read Get_DataSource write _Set_DataSource;
01192 property ActiveCommand: IDispatch read Get_ActiveCommand;
01193 property StayInSync: WordBool read Get_StayInSync write Set_StayInSync;
01194 property DataMember: WideString read Get_DataMember write Set_DataMember;
01195 end;
01196
01197
01198
01199
01200
01201
01202 Recordset21 = interface(Recordset20)
01203 ['{00000555-0000-0010-8000-00AA006D2EA4}']
01204 procedure Seek(KeyValues: OleVariant; SeekOption: SeekEnum); safecall;
01205 procedure Set_Index(const pbstrIndex: WideString); safecall;
01206 function Get_Index: WideString; safecall;
01207 property Index: WideString read Get_Index write Set_Index;
01208 end;
01209
01210
01211
01212
01213
01214
01215 _Recordset = interface(Recordset21)
01216 ['{00000556-0000-0010-8000-00AA006D2EA4}']
01217 procedure Save(Destination: OleVariant; PersistFormat: PersistFormatEnum); safecall;
01218 end;
01219
01220
01221
01222
01223
01224
01225 Fields15 = interface(_Collection)
01226 ['{00000506-0000-0010-8000-00AA006D2EA4}']
01227 function Get_Item(Index: OleVariant): Field20; safecall;
01228 property Item[Index: OleVariant]: Field20 read Get_Item; default;
01229 end;
01230
01231
01232
01233
01234
01235
01236 Fields20 = interface(Fields15)
01237 ['{0000054D-0000-0010-8000-00AA006D2EA4}']
01238 procedure _Append(const Name: WideString; Type_: DataTypeEnum; DefinedSize: ADO_LONGPTR;
01239 Attrib: FieldAttributeEnum); safecall;
01240 procedure Delete(Index: OleVariant); safecall;
01241 end;
01242
01243
01244
01245
01246
01247
01248 Fields = interface(Fields20)
01249 ['{00000564-0000-0010-8000-00AA006D2EA4}']
01250 procedure Append(const Name: WideString; Type_: DataTypeEnum; DefinedSize: ADO_LONGPTR;
01251 Attrib: FieldAttributeEnum; FieldValue: OleVariant); safecall;
01252 procedure Update; safecall;
01253 procedure Resync(ResyncValues: ResyncEnum); safecall;
01254 procedure CancelUpdate; safecall;
01255 end;
01256
01257
01258
01259
01260
01261
01262 Field20 = interface(_ADO)
01263 ['{0000054C-0000-0010-8000-00AA006D2EA4}']
01264 function Get_ActualSize: ADO_LONGPTR; safecall;
01265 function Get_Attributes: Integer; safecall;
01266 function Get_DefinedSize: ADO_LONGPTR; safecall;
01267 function Get_Name: WideString; safecall;
01268 function Get_Type_: DataTypeEnum; safecall;
01269 function Get_Value: OleVariant; safecall;
01270 procedure Set_Value(pvar: OleVariant); safecall;
01271 function Get_Precision: Byte; safecall;
01272 function Get_NumericScale: Byte; safecall;
01273 procedure AppendChunk(Data: OleVariant); safecall;
01274 function GetChunk(Length: Integer): OleVariant; safecall;
01275 function Get_OriginalValue: OleVariant; safecall;
01276 function Get_UnderlyingValue: OleVariant; safecall;
01277 function Get_DataFormat: IUnknown; safecall;
01278 procedure _Set_DataFormat(const ppiDF: IUnknown); safecall;
01279 procedure Set_Precision(pbPrecision: Byte); safecall;
01280 procedure Set_NumericScale(pbNumericScale: Byte); safecall;
01281 procedure Set_Type_(pDataType: DataTypeEnum); safecall;
01282 procedure Set_DefinedSize(pl: ADO_LONGPTR); safecall;
01283 procedure Set_Attributes(pl: Integer); safecall;
01284 property ActualSize: ADO_LONGPTR read Get_ActualSize;
01285 property Attributes: Integer read Get_Attributes write Set_Attributes;
01286 property DefinedSize: ADO_LONGPTR read Get_DefinedSize write Set_DefinedSize;
01287 property Name: WideString read Get_Name;
01288 property Type_: DataTypeEnum read Get_Type_ write Set_Type_;
01289 property Value: OleVariant read Get_Value write Set_Value;
01290 property Precision: Byte read Get_Precision write Set_Precision;
01291 property NumericScale: Byte read Get_NumericScale write Set_NumericScale;
01292 property OriginalValue: OleVariant read Get_OriginalValue;
01293 property UnderlyingValue: OleVariant read Get_UnderlyingValue;
01294 property DataFormat: IUnknown read Get_DataFormat write _Set_DataFormat;
01295 end;
01296
01297
01298
01299
01300
01301
01302 Field = interface(Field20)
01303 ['{00000569-0000-0010-8000-00AA006D2EA4}']
01304 function Get_Status: Integer; safecall;
01305 property Status: Integer read Get_Status;
01306 end;
01307
01308
01309
01310
01311
01312
01313 _Parameter = interface(_ADO)
01314 ['{0000050C-0000-0010-8000-00AA006D2EA4}']
01315 function Get_Name: WideString; safecall;
01316 procedure Set_Name(const pbstr: WideString); safecall;
01317 function Get_Value: OleVariant; safecall;
01318 procedure Set_Value(pvar: OleVariant); safecall;
01319 function Get_Type_: DataTypeEnum; safecall;
01320 procedure Set_Type_(psDataType: DataTypeEnum); safecall;
01321 procedure Set_Direction(plParmDirection: ParameterDirectionEnum); safecall;
01322 function Get_Direction: ParameterDirectionEnum; safecall;
01323 procedure Set_Precision(pbPrecision: Byte); safecall;
01324 function Get_Precision: Byte; safecall;
01325 procedure Set_NumericScale(pbScale: Byte); safecall;
01326 function Get_NumericScale: Byte; safecall;
01327 procedure Set_Size(pl: ADO_LONGPTR); safecall;
01328 function Get_Size: ADO_LONGPTR; safecall;
01329 procedure AppendChunk(Val: OleVariant); safecall;
01330 function Get_Attributes: Integer; safecall;
01331 procedure Set_Attributes(plParmAttribs: Integer); safecall;
01332 property Name: WideString read Get_Name write Set_Name;
01333 property Value: OleVariant read Get_Value write Set_Value;
01334 property Type_: DataTypeEnum read Get_Type_ write Set_Type_;
01335 property Direction: ParameterDirectionEnum read Get_Direction write Set_Direction;
01336 property Precision: Byte read Get_Precision write Set_Precision;
01337 property NumericScale: Byte read Get_NumericScale write Set_NumericScale;
01338 property Size: ADO_LONGPTR read Get_Size write Set_Size;
01339 property Attributes: Integer read Get_Attributes write Set_Attributes;
01340 end;
01341
01342
01343
01344
01345
01346
01347 Parameters = interface(_DynaCollection)
01348 ['{0000050D-0000-0010-8000-00AA006D2EA4}']
01349 function Get_Item(Index: OleVariant): _Parameter; safecall;
01350 property Item[Index: OleVariant]: _Parameter read Get_Item; default;
01351 end;
01352
01353
01354
01355
01356
01357
01358 Command25 = interface(Command15)
01359 ['{0000054E-0000-0010-8000-00AA006D2EA4}']
01360 function Get_State: Integer; safecall;
01361 procedure Cancel; safecall;
01362 property State: Integer read Get_State;
01363 end;
01364
01365
01366
01367
01368
01369
01370 _Command = interface(Command25)
01371 ['{B08400BD-F9D1-4D02-B856-71D5DBA123E9}']
01372 procedure _Set_CommandStream(const pvStream: IUnknown); safecall;
01373 function Get_CommandStream: OleVariant; safecall;
01374 procedure Set_Dialect(const pbstrDialect: WideString); safecall;
01375 function Get_Dialect: WideString; safecall;
01376 procedure Set_NamedParameters(pfNamedParameters: WordBool); safecall;
01377 function Get_NamedParameters: WordBool; safecall;
01378 property Dialect: WideString read Get_Dialect write Set_Dialect;
01379 property NamedParameters: WordBool read Get_NamedParameters write Set_NamedParameters;
01380 end;
01381
01382
01383
01384
01385
01386
01387 ConnectionEventsVt = interface(IUnknown)
01388 ['{00000402-0000-0010-8000-00AA006D2EA4}']
01389 function InfoMessage(const pError: Error; var adStatus: EventStatusEnum;
01390 const pConnection: Connection15): HResult; stdcall;
01391 function BeginTransComplete(TransactionLevel: Integer; const pError: Error;
01392 var adStatus: EventStatusEnum; const pConnection: Connection15): HResult; stdcall;
01393 function CommitTransComplete(const pError: Error; var adStatus: EventStatusEnum;
01394 const pConnection: Connection15): HResult; stdcall;
01395 function RollbackTransComplete(const pError: Error; var adStatus: EventStatusEnum;
01396 const pConnection: Connection15): HResult; stdcall;
01397 function WillExecute(var Source: WideString; var CursorType: CursorTypeEnum;
01398 var LockType: LockTypeEnum; var Options: Integer;
01399 var adStatus: EventStatusEnum; const pCommand: _Command;
01400 const pRecordset: Recordset15; const pConnection: Connection15): HResult; stdcall;
01401 function ExecuteComplete(RecordsAffected: Integer; const pError: Error;
01402 var adStatus: EventStatusEnum; const pCommand: _Command;
01403 const pRecordset: Recordset15; const pConnection: Connection15): HResult; stdcall;
01404 function WillConnect(var ConnectionString: WideString; var UserID: WideString;
01405 var Password: WideString; var Options: Integer;
01406 var adStatus: EventStatusEnum; const pConnection: Connection15): HResult; stdcall;
01407 function ConnectComplete(const pError: Error; var adStatus: EventStatusEnum;
01408 const pConnection: Connection15): HResult; stdcall;
01409 function Disconnect(var adStatus: EventStatusEnum; const pConnection: Connection15): HResult; stdcall;
01410 end;
01411
01412
01413
01414
01415
01416
01417 RecordsetEventsVt = interface(IUnknown)
01418 ['{00000403-0000-0010-8000-00AA006D2EA4}']
01419 function WillChangeField(cFields: Integer; Fields: OleVariant; var adStatus: EventStatusEnum;
01420 const pRecordset: Recordset15): HResult; stdcall;
01421 function FieldChangeComplete(cFields: Integer; Fields: OleVariant; const pError: Error;
01422 var adStatus: EventStatusEnum; const pRecordset: Recordset15): HResult; stdcall;
01423 function WillChangeRecord(adReason: EventReasonEnum; cRecords: Integer;
01424 var adStatus: EventStatusEnum; const pRecordset: Recordset15): HResult; stdcall;
01425 function RecordChangeComplete(adReason: EventReasonEnum; cRecords: Integer;
01426 const pError: Error; var adStatus: EventStatusEnum;
01427 const pRecordset: Recordset15): HResult; stdcall;
01428 function WillChangeRecordset(adReason: EventReasonEnum; var adStatus: EventStatusEnum;
01429 const pRecordset: Recordset15): HResult; stdcall;
01430 function RecordsetChangeComplete(adReason: EventReasonEnum; const pError: Error;
01431 var adStatus: EventStatusEnum; const pRecordset: Recordset15): HResult; stdcall;
01432 function WillMove(adReason: EventReasonEnum; var adStatus: EventStatusEnum;
01433 const pRecordset: Recordset15): HResult; stdcall;
01434 function MoveComplete(adReason: EventReasonEnum; const pError: Error;
01435 var adStatus: EventStatusEnum; const pRecordset: Recordset15): HResult; stdcall;
01436 function EndOfRecordset(var fMoreData: WordBool; var adStatus: EventStatusEnum;
01437 const pRecordset: Recordset15): HResult; stdcall;
01438 function FetchProgress(Progress: Integer; MaxProgress: Integer; var adStatus: EventStatusEnum;
01439 const pRecordset: Recordset15): HResult; stdcall;
01440 function FetchComplete(const pError: Error; var adStatus: EventStatusEnum;
01441 const pRecordset: Recordset15): HResult; stdcall;
01442 end;
01443
01444
01445
01446
01447
01448
01449 ADOConnectionConstruction15 = interface(IUnknown)
01450 ['{00000516-0000-0010-8000-00AA006D2EA4}']
01451 function Get_DSO(out ppDSO: IUnknown): HResult; stdcall;
01452 function Get_Session(out ppSession: IUnknown): HResult; stdcall;
01453 function WrapDSOandSession(const pDSO: IUnknown; const pSession: IUnknown): HResult; stdcall;
01454 end;
01455
01456
01457
01458
01459
01460
01461 ADOConnectionConstruction = interface(ADOConnectionConstruction15)
01462 ['{00000551-0000-0010-8000-00AA006D2EA4}']
01463 end;
01464
01465
01466
01467
01468
01469
01470 _Record = interface(_ADO)
01471 ['{00000562-0000-0010-8000-00AA006D2EA4}']
01472 function Get_ActiveConnection: OleVariant; safecall;
01473 procedure Set_ActiveConnection(const pvar: WideString); safecall;
01474 procedure _Set_ActiveConnection(const pvar: Connection15); safecall;
01475 function Get_State: ObjectStateEnum; safecall;
01476 function Get_Source: OleVariant; safecall;
01477 procedure Set_Source(const pvar: WideString); safecall;
01478 procedure _Set_Source(const pvar: IDispatch); safecall;
01479 function Get_Mode: ConnectModeEnum; safecall;
01480 procedure Set_Mode(pMode: ConnectModeEnum); safecall;
01481 function Get_ParentURL: WideString; safecall;
01482 function MoveRecord(const Source: WideString; const Destination: WideString;
01483 const UserName: WideString; const Password: WideString;
01484 Options: MoveRecordOptionsEnum; Async: WordBool): WideString; safecall;
01485 function CopyRecord(const Source: WideString; const Destination: WideString;
01486 const UserName: WideString; const Password: WideString;
01487 Options: CopyRecordOptionsEnum; Async: WordBool): WideString; safecall;
01488 procedure DeleteRecord(const Source: WideString; Async: WordBool); safecall;
01489 procedure Open(Source: OleVariant; ActiveConnection: OleVariant; Mode: ConnectModeEnum;
01490 CreateOptions: RecordCreateOptionsEnum; Options: RecordOpenOptionsEnum;
01491 const UserName: WideString; const Password: WideString); safecall;
01492 procedure Close; safecall;
01493 function Get_Fields: Fields15; safecall;
01494 function Get_RecordType: RecordTypeEnum; safecall;
01495 function GetChildren: Recordset15; safecall;
01496 procedure Cancel; safecall;
01497 property State: ObjectStateEnum read Get_State;
01498 property Mode: ConnectModeEnum read Get_Mode write Set_Mode;
01499 property ParentURL: WideString read Get_ParentURL;
01500 property Fields: Fields15 read Get_Fields;
01501 property RecordType: RecordTypeEnum read Get_RecordType;
01502 end;
01503
01504
01505
01506
01507
01508
01509 _Stream = interface(IDispatch)
01510 ['{00000565-0000-0010-8000-00AA006D2EA4}']
01511 function Get_Size: ADO_LONGPTR; safecall;
01512 function Get_EOS: WordBool; safecall;
01513 function Get_Position: ADO_LONGPTR; safecall;
01514 procedure Set_Position(pPos: ADO_LONGPTR); safecall;
01515 function Get_Type_: StreamTypeEnum; safecall;
01516 procedure Set_Type_(ptype: StreamTypeEnum); safecall;
01517 function Get_LineSeparator: LineSeparatorEnum; safecall;
01518 procedure Set_LineSeparator(pLS: LineSeparatorEnum); safecall;
01519 function Get_State: ObjectStateEnum; safecall;
01520 function Get_Mode: ConnectModeEnum; safecall;
01521 procedure Set_Mode(pMode: ConnectModeEnum); safecall;
01522 function Get_Charset: WideString; safecall;
01523 procedure Set_Charset(const pbstrCharset: WideString); safecall;
01524 function Read(NumBytes: Integer): OleVariant; safecall;
01525 procedure Open(Source: OleVariant; Mode: ConnectModeEnum; Options: StreamOpenOptionsEnum;
01526 const UserName: WideString; const Password: WideString); safecall;
01527 procedure Close; safecall;
01528 procedure SkipLine; safecall;
01529 procedure Write(Buffer: OleVariant); safecall;
01530 procedure SetEOS; safecall;
01531 procedure CopyTo(const DestStream: _Stream; CharNumber: ADO_LONGPTR); safecall;
01532 procedure Flush; safecall;
01533 procedure SaveToFile(const FileName: WideString; Options: SaveOptionsEnum); safecall;
01534 procedure LoadFromFile(const FileName: WideString); safecall;
01535 function ReadText(NumChars: Integer): WideString; safecall;
01536 procedure WriteText(const Data: WideString; Options: StreamWriteEnum); safecall;
01537 procedure Cancel; safecall;
01538 property Size: ADO_LONGPTR read Get_Size;
01539 property EOS: WordBool read Get_EOS;
01540 property Position: ADO_LONGPTR read Get_Position write Set_Position;
01541 property Type_: StreamTypeEnum read Get_Type_ write Set_Type_;
01542 property LineSeparator: LineSeparatorEnum read Get_LineSeparator write Set_LineSeparator;
01543 property State: ObjectStateEnum read Get_State;
01544 property Mode: ConnectModeEnum read Get_Mode write Set_Mode;
01545 property Charset: WideString read Get_Charset write Set_Charset;
01546 end;
01547
01548
01549
01550
01551
01552
01553 ADORecordConstruction = interface(IDispatch)
01554 ['{00000567-0000-0010-8000-00AA006D2EA4}']
01555 function Get_Row(out ppRow: IUnknown): HResult; stdcall;
01556 function Set_Row(const ppRow: IUnknown): HResult; stdcall;
01557 function Set_ParentRow(const Param1: IUnknown): HResult; stdcall;
01558 end;
01559
01560
01561
01562
01563
01564
01565 ADOStreamConstruction = interface(IDispatch)
01566 ['{00000568-0000-0010-8000-00AA006D2EA4}']
01567 function Get_Stream(out ppStm: IUnknown): HResult; stdcall;
01568 function Set_Stream(const ppStm: IUnknown): HResult; stdcall;
01569 end;
01570
01571
01572
01573
01574
01575
01576 ADOCommandConstruction = interface(IUnknown)
01577 ['{00000517-0000-0010-8000-00AA006D2EA4}']
01578 function Get_OLEDBCommand: IUnknown; safecall;
01579 procedure Set_OLEDBCommand(const ppOLEDBCommand: IUnknown); safecall;
01580 property OLEDBCommand: IUnknown read Get_OLEDBCommand write Set_OLEDBCommand;
01581 end;
01582
01583
01584
01585
01586
01587
01588 ADORecordsetConstruction = interface(IDispatch)
01589 ['{00000283-0000-0010-8000-00AA006D2EA4}']
01590 function Get_Rowset(out ppRowset: IUnknown): HResult; stdcall;
01591 function Set_Rowset(const ppRowset: IUnknown): HResult; stdcall;
01592 function Get_Chapter(out plChapter: ADO_LONGPTR): HResult; stdcall;
01593 function Set_Chapter(plChapter: ADO_LONGPTR): HResult; stdcall;
01594 function Get_RowPosition(out ppRowPos: IUnknown): HResult; stdcall;
01595 function Set_RowPosition(const ppRowPos: IUnknown): HResult; stdcall;
01596 end;
01597
01598
01599
01600
01601
01602
01603 Field15 = interface(_ADO)
01604 ['{00000505-0000-0010-8000-00AA006D2EA4}']
01605 function Get_ActualSize: ADO_LONGPTR; safecall;
01606 function Get_Attributes: Integer; safecall;
01607 function Get_DefinedSize: ADO_LONGPTR; safecall;
01608 function Get_Name: WideString; safecall;
01609 function Get_Type_: DataTypeEnum; safecall;
01610 function Get_Value: OleVariant; safecall;
01611 procedure Set_Value(pvar: OleVariant); safecall;
01612 function Get_Precision: Byte; safecall;
01613 function Get_NumericScale: Byte; safecall;
01614 procedure AppendChunk(Data: OleVariant); safecall;
01615 function GetChunk(Length: Integer): OleVariant; safecall;
01616 function Get_OriginalValue: OleVariant; safecall;
01617 function Get_UnderlyingValue: OleVariant; safecall;
01618 property ActualSize: ADO_LONGPTR read Get_ActualSize;
01619 property Attributes: Integer read Get_Attributes;
01620 property DefinedSize: ADO_LONGPTR read Get_DefinedSize;
01621 property Name: WideString read Get_Name;
01622 property Type_: DataTypeEnum read Get_Type_;
01623 property Value: OleVariant read Get_Value write Set_Value;
01624 property Precision: Byte read Get_Precision;
01625 property NumericScale: Byte read Get_NumericScale;
01626 property OriginalValue: OleVariant read Get_OriginalValue;
01627 property UnderlyingValue: OleVariant read Get_UnderlyingValue;
01628 end;
01629
01630
01631
01632
01633
01634 Connection = Connection15;
01635 Record_ = _Record;
01636 Stream = _Stream;
01637 Command = _Command;
01638 Recordset = Recordset15;
01639 Parameter = _Parameter;
01640
01641
01642
01643
01644
01645
01646
01647
01648 CoConnection = class
01649 class function Create: Connection15;
01650 class function CreateRemote(const MachineName: string): Connection15;
01651 end;
01652
01653
01654
01655
01656
01657
01658
01659
01660 CoRecord_ = class
01661 class function Create: _Record;
01662 class function CreateRemote(const MachineName: string): _Record;
01663 end;
01664
01665
01666
01667
01668
01669
01670
01671
01672 CoStream = class
01673 class function Create: _Stream;
01674 class function CreateRemote(const MachineName: string): _Stream;
01675 end;
01676
01677
01678
01679
01680
01681
01682
01683
01684 CoCommand = class
01685 class function Create: _Command;
01686 class function CreateRemote(const MachineName: string): _Command;
01687 end;
01688
01689
01690
01691
01692
01693
01694
01695
01696 CoRecordset = class
01697 class function Create: Recordset15;
01698 class function CreateRemote(const MachineName: string): Recordset15;
01699 end;
01700
01701
01702
01703
01704
01705
01706
01707
01708 CoParameter = class
01709 class function Create: _Parameter;
01710 class function CreateRemote(const MachineName: string): _Parameter;
01711 end;
01712
01713 implementation
01714
01715 uses ComObj;
01716
01717 class function CoConnection.Create: Connection15;
01718 begin
01719 Result := CreateComObject(CLASS_Connection) as Connection15;
01720 end;
01721
01722 class function CoConnection.CreateRemote(const MachineName: string): Connection15;
01723 begin
01724 Result := CreateRemoteComObject(MachineName, CLASS_Connection) as Connection15;
01725 end;
01726
01727 class function CoRecord_.Create: _Record;
01728 begin
01729 Result := CreateComObject(CLASS_Record_) as _Record;
01730 end;
01731
01732 class function CoRecord_.CreateRemote(const MachineName: string): _Record;
01733 begin
01734 Result := CreateRemoteComObject(MachineName, CLASS_Record_) as _Record;
01735 end;
01736
01737 class function CoStream.Create: _Stream;
01738 begin
01739 Result := CreateComObject(CLASS_Stream) as _Stream;
01740 end;
01741
01742 class function CoStream.CreateRemote(const MachineName: string): _Stream;
01743 begin
01744 Result := CreateRemoteComObject(MachineName, CLASS_Stream) as _Stream;
01745 end;
01746
01747 class function CoCommand.Create: _Command;
01748 begin
01749 Result := CreateComObject(CLASS_Command) as _Command;
01750 end;
01751
01752 class function CoCommand.CreateRemote(const MachineName: string): _Command;
01753 begin
01754 Result := CreateRemoteComObject(MachineName, CLASS_Command) as _Command;
01755 end;
01756
01757 class function CoRecordset.Create: Recordset15;
01758 begin
01759 Result := CreateComObject(CLASS_Recordset) as Recordset15;
01760 end;
01761
01762 class function CoRecordset.CreateRemote(const MachineName: string): Recordset15;
01763 begin
01764 Result := CreateRemoteComObject(MachineName, CLASS_Recordset) as Recordset15;
01765 end;
01766
01767 class function CoParameter.Create: _Parameter;
01768 begin
01769 Result := CreateComObject(CLASS_Parameter) as _Parameter;
01770 end;
01771
01772 class function CoParameter.CreateRemote(const MachineName: string): _Parameter;
01773 begin
01774 Result := CreateRemoteComObject(MachineName, CLASS_Parameter) as _Parameter;
01775 end;
01776
01777 end.
01778