ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/fbintf/client/FBMessages.pas
Revision: 68
Committed: Tue Oct 17 10:07:58 2017 UTC (6 years, 5 months ago) by tony
Content type: text/x-pascal
File size: 23666 byte(s)
Log Message:
IBX: Editor Positioning tidy up
FBINTF: Trap uninitialised SQL parameters on SQL Exec. Avoids Unknown SQL Type errors.
Consistent setting of Modified (SQLParam).

File Contents

# Content
1 (*
2 * Firebird Interface (fbintf). The fbintf components provide a set of
3 * Pascal language bindings for the Firebird API. Although predominantly
4 * a new development they include source code taken from IBX and may be
5 * considered a derived product. This software thus also includes the copyright
6 * notice and license conditions from IBX.
7 *
8 * Except for those parts dervied from IBX, contents of this file are subject
9 * to the Initial Developer's Public License Version 1.0 (the "License"); you
10 * may not use this file except in compliance with the License. You may obtain a
11 * copy of the License here:
12 *
13 * http://www.firebirdsql.org/index.php?op=doc&id=idpl
14 *
15 * Software distributed under the License is distributed on an "AS
16 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
17 * implied. See the License for the specific language governing rights
18 * and limitations under the License.
19 *
20 * The Initial Developer of the Original Code is Tony Whyman.
21 *
22 * The Original Code is (C) 2016 Tony Whyman, MWA Software
23 * (http://www.mwasoftware.co.uk).
24 *
25 * All Rights Reserved.
26 *
27 * Contributor(s): ______________________________________.
28 *
29 *)
30 {************************************************************************}
31 { }
32 { Borland Delphi Visual Component Library }
33 { InterBase Express core components }
34 { }
35 { Copyright (c) 1998-2000 Inprise Corporation }
36 { }
37 { InterBase Express is based in part on the product }
38 { Free IB Components, written by Gregory H. Deatz for }
39 { Hoagland, Longo, Moran, Dunst & Doukas Company. }
40 { Free IB Components is used under license. }
41 { }
42 { The contents of this file are subject to the InterBase }
43 { Public License Version 1.0 (the "License"); you may not }
44 { use this file except in compliance with the License. You }
45 { may obtain a copy of the License at http://www.Inprise.com/IPL.html }
46 { Software distributed under the License is distributed on }
47 { an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either }
48 { express or implied. See the License for the specific language }
49 { governing rights and limitations under the License. }
50 { The Original Code was created by InterBase Software Corporation }
51 { and its successors. }
52 { Portions created by Inprise Corporation are Copyright (C) Inprise }
53 { Corporation. All Rights Reserved. }
54 { Contributor(s): Jeff Overcash }
55 { }
56 { IBX For Lazarus (Firebird Express) }
57 { Contributor: Tony Whyman, MWA Software http://www.mwasoftware.co.uk }
58 { Portions created by MWA Software are copyright McCallum Whyman }
59 { Associates Ltd 2011 - 2015 }
60 { }
61 {************************************************************************}
62 unit FBMessages;
63 {$IFDEF MSWINDOWS}
64 {$DEFINE WINDOWS}
65 {$ENDIF}
66
67 {$IFDEF FPC}
68 {$mode delphi}
69 {$codepage UTF8}
70 {$ENDIF}
71
72 interface
73
74 uses
75 Classes, SysUtils;
76
77 type
78 TIBDataBaseErrorMessage = (ShowSQLCode,
79 ShowIBMessage,
80 ShowSQLMessage);
81
82 TIBDataBaseErrorMessages = set of TIBDataBaseErrorMessage;
83 TIBClientError = (
84 ibxeUnknownError,
85 ibxeInterBaseMissing,
86 ibxeInterBaseInstallMissing,
87 ibxeIB60feature,
88 ibxeNotSupported,
89 ibxeNotPermitted,
90 ibxeFileAccessError,
91 ibxeConnectionTimeout,
92 ibxeCannotSetDatabase,
93 ibxeCannotSetTransaction,
94 ibxeOperationCancelled,
95 ibxeDPBConstantNotSupported,
96 ibxeDPBConstantUnknown,
97 ibxeTPBConstantNotSupported,
98 ibxeTPBConstantUnknown,
99 ibxeDatabaseClosed,
100 ibxeDatabaseOpen,
101 ibxeDatabaseNameMissing,
102 ibxeNotInTransaction,
103 ibxeInTransaction,
104 ibxeTimeoutNegative,
105 ibxeNoDatabasesInTransaction,
106 ibxeUpdateWrongDB,
107 ibxeUpdateWrongTR,
108 ibxeDatabaseNotAssigned,
109 ibxeTransactionNotAssigned,
110 ibxeXSQLDAIndexOutOfRange,
111 ibxeXSQLDANameDoesNotExist,
112 ibxeEOF,
113 ibxeBOF,
114 ibxeInvalidStatementHandle,
115 ibxeSQLOpen,
116 ibxeSQLClosed,
117 ibxeDatasetOpen,
118 ibxeDatasetClosed,
119 ibxeUnknownSQLDataType,
120 ibxeInvalidColumnIndex,
121 ibxeInvalidParamColumnIndex,
122 ibxeInvalidDataConversion,
123 ibxeColumnIsNotNullable,
124 ibxeBlobCannotBeRead,
125 ibxeBlobCannotBeWritten,
126 ibxeBlobNotOpen,
127 ibxeEmptyQuery,
128 ibxeCannotOpenNonSQLSelect,
129 ibxeNoFieldAccess,
130 ibxeFieldReadOnly,
131 ibxeFieldNotFound,
132 ibxeNotEditing,
133 ibxeCannotInsert,
134 ibxeCannotPost,
135 ibxeCannotUpdate,
136 ibxeCannotDelete,
137 ibxeCannotRefresh,
138 ibxeBufferNotSet,
139 ibxeCircularReference,
140 ibxeSQLParseError,
141 ibxeUserAbort,
142 ibxeDataSetUniDirectional,
143 ibxeCannotCreateSharedResource,
144 ibxeWindowsAPIError,
145 ibxeColumnListsDontMatch,
146 ibxeColumnTypesDontMatch,
147 ibxeCantEndSharedTransaction,
148 ibxeFieldUnsupportedType,
149 ibxeCircularDataLink,
150 ibxeEmptySQLStatement,
151 ibxeIsASelectStatement,
152 ibxeRequiredParamNotSet,
153 ibxeNoStoredProcName,
154 ibxeIsAExecuteProcedure,
155 ibxeUpdateFailed,
156 ibxeNotCachedUpdates,
157 ibxeNotLiveRequest,
158 ibxeNoProvider,
159 ibxeNoRecordsAffected,
160 ibxeNoTableName,
161 ibxeCannotCreatePrimaryIndex,
162 ibxeCannotDropSystemIndex,
163 ibxeTableNameMismatch,
164 ibxeIndexFieldMissing,
165 ibxeInvalidCancellation,
166 ibxeInvalidEvent,
167 ibxeMaximumEvents,
168 ibxeNoEventsRegistered,
169 ibxeInvalidQueueing,
170 ibxeInvalidRegistration,
171 ibxeInvalidBatchMove,
172 ibxeSQLDialectInvalid,
173 ibxeSPBConstantNotSupported,
174 ibxeSPBConstantUnknown,
175 ibxeServiceActive,
176 ibxeServiceInActive,
177 ibxeServerNameMissing,
178 ibxeQueryParamsError,
179 ibxeStartParamsError,
180 ibxeOutputParsingError,
181 ibxeUseSpecificProcedures,
182 ibxeSQLMonitorAlreadyPresent,
183 ibxeCantPrintValue,
184 ibxeEOFReached,
185 ibxeEOFInComment,
186 ibxeEOFInString,
187 ibxeParamNameExpected,
188 ibxeSuccess,
189 ibxeDelphiException,
190 ibxeNoOptionsSet,
191 ibxeNoDestinationDirectory,
192 ibxeNosourceDirectory,
193 ibxeNoUninstallFile,
194 ibxeOptionNeedsClient,
195 ibxeOptionNeedsServer,
196 ibxeInvalidOption,
197 ibxeInvalidOnErrorResult,
198 ibxeInvalidOnStatusResult,
199 ibxeDPBConstantUnknownEx,
200 ibxeTPBConstantUnknownEx,
201 ibxeSV5APIError,
202 ibxeThreadFailed,
203 ibxeFieldSizeError,
204 ibxeTransactionNotEnding,
205 ibxeDscInfoTokenMissing,
206 ibxeNoLoginDialog,
207 ibxeEmptyAttachmentsList,
208 ibxeFirebirdLibraryLoaded,
209 ibxeInfoBufferIndexError,
210 ibxeInfoBufferTypeError,
211 ibxeInfoBufferOverflow,
212 ibxServiceRequestIndexError,
213 ibxServiceParamTypeError,
214 ibxeOutputBlockIndexError,
215 ibxeOutputBlockTypeError,
216 ibxePBIndexError,
217 ibxePBParamTypeError,
218 ibxeDuplicateParamName,
219 ibxeInvalidArrayDimensions,
220 ibxeNotAMultiDatabaseTransaction,
221 ibxeAttachmentListIndexError,
222 ibxeNotAnArray,
223 ibxeNotABlob,
224 ibxeInvalidSubscript,
225 ibxeArrayElementOverFlow,
226 ibxArrayBoundsCantIncrease ,
227 ibxeStatementNotPrepared,
228 ibxeInterfaceOutofDate,
229 ibxeUnexpectedDatabaseInfoResp,
230 ibxeInvalidBlobMetaData,
231 ibxeNoDPB,
232 ibxeInEventWait,
233 ibxeIncompatibleBlob,
234 ibxeMissingColumnName,
235 ibxStringTooLong,
236 ibxFieldNotinDataSet,
237 ibxeNotCurrentArray,
238 ibxeNoDefaultCharacterSet,
239 ibxeParamBufferOverflow,
240 ibxeInvalidParamCount,
241 ibxeInvalidVariantType,
242 ibxeServiceRunning,
243 ibxeUniqueRelationReqd,
244 ibxeInterfaceNotSupported,
245 ibxeCharacterSetExists,
246 ibxeUnknownUserCharSet,
247 ibxeUninitializedInputParameter
248 );
249
250 function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
251
252 resourcestring
253 { generic strings used in code }
254 SEOFReached = 'SEOFReached';
255 SEOFInComment = 'EOF in comment detected';
256 SEOFInString = 'EOF in string detected';
257 SParamNameExpected = 'Parameter name expected';
258 SCantPrintValue = 'Cannot print value';
259 SSuccess = 'Successful execution';
260 SDisconnectDatabase = 'Database is currently connected. Disconnect and continue?';
261 SCommitTransaction = 'Transaction is currently Active. Rollback and continue?';
262 sSQLErrorSeparator = ' When Executing: ';
263 SNoDataSet = 'No dataset association';
264 SSQLGenSelect = 'Must select at least one key field and one update field';
265 SSQLNotGenerated = 'Update SQL statements not generated, exit anyway?';
266 SSQLDataSetOpen = 'Unable to determine field names for %s';
267 SDefaultTransaction = '%s, Default';
268 SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
269 SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
270 STrue = 'true';
271 SFalse = 'false';
272 SArray = '(array)';
273 SBlob = '(blob)';
274
275 implementation
276
277 uses IBUtils;
278
279 resourcestring
280
281 { strings used in error messages}
282 SUnknownError = 'Unknown error';
283 SInterBaseMissing = 'Firebird library not found in the path. Please install Firebird to use this functionality';
284 SInterBaseInstallMissing = 'InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality';
285 SIB60feature = '%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality';
286 SNotSupported = 'Unsupported feature';
287 SNotPermitted = 'Not permitted';
288 SFileAccessError = 'Temporary file access error';
289 SConnectionTimeout = 'Database connection timed out';
290 SCannotSetDatabase = 'Cannot set database';
291 SCannotSetTransaction = 'Cannot set transaction';
292 SOperationCancelled = 'Operation cancelled at user''s request';
293 SDPBConstantNotSupported = 'DPB Constant (isc_dpb_%s) is unsupported';
294 SDPBConstantUnknown = 'DPB Constant (%d) is unknown';
295 STPBConstantNotSupported = 'TPB Constant (isc_tpb_%s) is unsupported';
296 STPBConstantUnknown = 'TPB Constant (%d) is unknown';
297 SDatabaseClosed = 'Cannot perform operation -- DB is not open';
298 SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
299 SDatabaseNameMissing = 'Database name is missing';
300 SNotInTransaction = 'Transaction is not active';
301 SInTransaction = 'Transaction is active';
302 STimeoutNegative = 'Timeout values cannot be negative';
303 SNoDatabasesInTransaction = 'No databases are listed in transaction component';
304 SUpdateWrongDB = 'Updating wrong database';
305 SUpdateWrongTR = 'Updating wrong transaction. Unique transaction expected in set';
306 SDatabaseNotAssigned = 'Database not assigned';
307 STransactionNotAssigned = 'Transaction not assigned';
308 SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
309 SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
310 SEOF = 'End of file';
311 SBOF = 'Beginning of file';
312 SInvalidStatementHandle = 'Invalid statement handle';
313 SSQLOpen = 'IBSQL Open';
314 SSQLClosed = 'IBSQL Closed';
315 SDatasetOpen = 'Dataset open';
316 SDatasetClosed = 'Dataset closed';
317 SUnknownSQLDataType = 'Unknown SQL Data type (%d)';
318 SInvalidColumnIndex = 'Invalid column index (index exceeds permitted range)';
319 SInvalidParamColumnIndex = 'Invalid parameter index (index exceeds permitted range)';
320 SInvalidDataConversion = 'Invalid data conversion';
321 SColumnIsNotNullable = 'Column cannot be set to null (%s)';
322 SBlobCannotBeRead = 'Blob stream cannot be read';
323 SBlobCannotBeWritten = 'Blob stream cannot be written';
324 SBlobNotOpen = 'The Blob is not open';
325 SEmptyQuery = 'Empty query';
326 SCannotOpenNonSQLSelect = 'Cannot "open" a non-select statement. Use ExecQuery';
327 SNoFieldAccess = 'No access to field "%s"';
328 SFieldReadOnly = 'Field "%s" is read-only';
329 SFieldNotFound = 'Field "%s" not found';
330 SNotEditing = 'Not in edit mode';
331 SCannotInsert = 'Cannot insert into dataset. (No insert query)';
332 SCannotPost = 'Cannot post. (No update/insert query)';
333 SCannotUpdate = 'Cannot update. (No update query)';
334 SCannotDelete = 'Cannot delete from dataset. (No delete query)';
335 SCannotRefresh = 'Cannot refresh row. (No refresh query)';
336 SBufferNotSet = 'Buffer not set';
337 SCircularReference = 'Circular references not permitted';
338 SSQLParseError = 'SQL Parse Error:' + CRLF + CRLF + '%s';
339 SUserAbort = 'User abort';
340 SDataSetUniDirectional = 'Data set is uni-directional';
341 {$IFDEF UNIX}
342 SCannotCreateSharedResource = 'Cannot create shared resource. %s';
343 {$ELSE}
344 SCannotCreateSharedResource = 'Cannot create shared resource. (Windows error %d)';
345 {$ENDIF}
346 SWindowsAPIError = 'Windows API error. (Windows error %d [$%.8x])';
347 SColumnListsDontMatch = 'Column lists do not match';
348 SColumnTypesDontMatch = 'Column types don''t match. (From index: %d; To index: %d)';
349 SCantEndSharedTransaction = 'Can''t end a shared transaction unless it is forced and equal ' +
350 'to the transaction''s TimeoutAction';
351 SFieldUnsupportedType = 'Unsupported Field Type';
352 SCircularDataLink = 'Circular DataLink Reference';
353 SEmptySQLStatement = 'Empty SQL Statement';
354 SIsASelectStatement = 'use Open for a Select Statement';
355 SRequiredParamNotSet = 'Required parameter "%s" value not set';
356 SNoStoredProcName = 'No Stored Procedure Name assigned';
357 SIsAExecuteProcedure = 'use ExecProc for Procedure; use TQuery for Select procedures';
358 SUpdateFailed = 'Update Failed';
359 SNotCachedUpdates = 'CachedUpdates not enabled';
360 SNotLiveRequest = 'Request is not live - cannot modify';
361 SNoProvider = 'No Provider';
362 SNoRecordsAffected = 'No Records Affected';
363 SNoTableName = 'No Table Name assigned';
364 SCannotCreatePrimaryIndex = 'Cannot Create Primary Index; are created automatically';
365 SCannotDropSystemIndex = 'Cannot Drop System Index';
366 STableNameMismatch = 'Table Name Mismatch';
367 SIndexFieldMissing = 'Index Field Missing';
368 SInvalidCancellation = 'Cannot Cancel events while processing';
369 SInvalidEvent = 'Invalid Event';
370 SMaximumEvents = 'Exceded Maximum Event limits';
371 SNoEventsRegistered = 'No Events Registered';
372 SInvalidQueueing = 'Invalid Queueing';
373 SInvalidRegistration = 'Invalid Registration';
374 SInvalidBatchMove = 'Invalid Batch Move';
375 SSQLDialectInvalid = 'SQL Dialect Invalid';
376 SSPBConstantNotSupported = 'SPB Constant Not supported';
377 SSPBConstantUnknown = 'SPB Constant Unknown';
378 SServiceActive = 'Cannot perform operation -- service is not attached';
379 SServiceInActive = 'Cannot perform operation -- service is attached';
380 SServerNameMissing = 'Server Name Missing';
381 SQueryParamsError = 'Query Parameters missing or incorrect';
382 SStartParamsError = 'start Parameters missing or incorrect';
383 SOutputParsingError = 'Unexpected Output buffer value (%d)';
384 SUseSpecificProcedures = 'Generic ServiceStart not applicable: Use Specific Procedures to set configuration params';
385 SSQLMonitorAlreadyPresent = 'SQL Monitor Instance is already present';
386 SDelphiException = 'DelphiException %s';
387 SNoOptionsSet = 'No Install Options selected';
388 SNoDestinationDirectory = 'DestinationDirectory is not set';
389 SNosourceDirectory = 'SourceDirectory is not set';
390 SNoUninstallFile = 'Uninstall File Name is not set';
391 SOptionNeedsClient = '%s component requires Client to function properly';
392 SOptionNeedsServer = '%s component requires Server to function properly';
393 SInvalidOption = 'Invalid option specified';
394 SInvalidOnErrorResult = 'Unexpected onError return value';
395 SInvalidOnStatusResult = 'Unexpected onStatus return value';
396
397 SDPBConstantUnknownEx = 'DPB Constant (%s) is unknown';
398 STPBConstantUnknownEx = 'TPB Constant (%s) is unknown';
399 SSV5APIError = 'SV5 API API Error - %s';
400 SThreadFailed = '%s Thread failed with Exception: %s';
401 sFieldSizeError = 'Field %s is too small to receive the data';
402 STransactionNotEnding = 'Transaction is not being completed';
403 SDscInfoTokenMissing = '%s token not found';
404 SNoLoginDialog = 'Default Login Dlalog not found. Have you included ibexpress ' +
405 'in your program uses list?';
406 SEmptyAttachmentsList = 'The list of database attachments cannot be empty';
407 SFirebirdLibraryLoaded = 'The Firebird Library is already loaded';
408 SInfoBufferIndexError = 'Info Buffer Index Out of Range (%d)';
409 SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
410 SInfoBufferOverflow = 'Info Buffer overlow';
411 SServiceRequestIndexError = 'Service Request Index Out of Range (%d)';
412 SServiceParamTypeError = 'Invalid Request for Service Param Type';
413 SOutputBlockIndexError = 'Output Block Index Out of Range (%d)';
414 SOutputBlockTypeError = 'Invalid Request for Output Block Type';
415 SPBIndexError = 'DPB Index out of range (%d)';
416 SPBParamTypeError = 'Invalid Request for DPB Param Type';
417 SDuplicateParamName = 'Blob or array parameter name must be unique (%s)';
418 SInvalidArrayDimensions = 'Invalid number of array dimensions (%d)';
419 SNotAMultiDatabaseTransaction = 'This is not a multi-database transaction';
420 SAttachmentListIndexError = 'Attachment List index out of range (%d)';
421 SNotAnArray = 'Table Column must be an array';
422 SNotABlob = 'Table Column must be a Blob';
423 SInvalidSubscript = 'Invalid Subscript (%d) for Array Dimension %d';
424 SArrayElementOverFlow = 'Array Element too big';
425 SArrayBoundsCantIncrease = 'Array Bounds can only be narrowed';
426 SStatementNotPrepared = 'The Statement has not been prepared';
427 SInterfaceOutofDate = 'This interface is no longer up-to-date';
428 SUnexpectedDatabaseInfoResp = 'Unexpected Database Information Response';
429 SInvalidBlobMetaData = 'Unable to Access Blob Meta Data';
430 SNoDPB = 'A DPB must be provided';
431 SInEventWait = 'Already in Event Wait State';
432 SIncompatibleBlob = 'Incompatible Blob SubTypes. %d expected, %d found';
433 SMissingColumnName = 'Relation or Column Name Missing';
434 SStringTooLong = 'String "%s" is too long. Max %d characters';
435 SFieldNotinDataSet = 'Field %s is not a member of DataSet %s';
436 SNotCurrentArray = 'Cannot Edit an Array that is not part of the current record';
437 SNoDefaultCharacterSet = 'A connection default character set is required to perform this operation';
438 SParamBufferOverflow = 'Parameter Buffer Overflow';
439 SInvalidParamCount = 'Invalid Parameter Count. %d expected, %d found';
440 SInvalidVariantType = 'Invalid variant type';
441 SServiceRunning = 'Cannot start a new service while an existing service is running';
442 SUniqueRelationReqd = 'All Output Fields must derived from the same table';
443 SInterfaceNotSupported = 'Interface not supported; Guid %s not found';
444 SCharacterSetExists = 'Character set "%s" is already defined';
445 SUnknownUserCharSet = 'Unknown user character set "%s"';
446 SUninitializedInputParameter = 'SQL Param No. %d (%s) is uninitialised';
447
448 const
449 IBErrorMessages: array[TIBClientError] of string = (
450 SUnknownError,
451 SInterBaseMissing,
452 SInterBaseInstallMissing,
453 SIB60feature,
454 SNotSupported,
455 SNotPermitted,
456 SFileAccessError,
457 SConnectionTimeout,
458 SCannotSetDatabase,
459 SCannotSetTransaction,
460 SOperationCancelled,
461 SDPBConstantNotSupported,
462 SDPBConstantUnknown,
463 STPBConstantNotSupported,
464 STPBConstantUnknown,
465 SDatabaseClosed,
466 SDatabaseOpen,
467 SDatabaseNameMissing,
468 SNotInTransaction,
469 SInTransaction,
470 STimeoutNegative,
471 SNoDatabasesInTransaction,
472 SUpdateWrongDB,
473 SUpdateWrongTR,
474 SDatabaseNotAssigned,
475 STransactionNotAssigned,
476 SXSQLDAIndexOutOfRange,
477 SXSQLDANameDoesNotExist,
478 SEOF,
479 SBOF,
480 SInvalidStatementHandle,
481 SSQLOpen,
482 SSQLClosed,
483 SDatasetOpen,
484 SDatasetClosed,
485 SUnknownSQLDataType,
486 SInvalidColumnIndex,
487 SInvalidParamColumnIndex,
488 SInvalidDataConversion,
489 SColumnIsNotNullable,
490 SBlobCannotBeRead,
491 SBlobCannotBeWritten,
492 SBlobNotOpen,
493 SEmptyQuery,
494 SCannotOpenNonSQLSelect,
495 SNoFieldAccess,
496 SFieldReadOnly,
497 SFieldNotFound,
498 SNotEditing,
499 SCannotInsert,
500 SCannotPost,
501 SCannotUpdate,
502 SCannotDelete,
503 SCannotRefresh,
504 SBufferNotSet,
505 SCircularReference,
506 SSQLParseError,
507 SUserAbort,
508 SDataSetUniDirectional,
509 SCannotCreateSharedResource,
510 SWindowsAPIError,
511 SColumnListsDontMatch,
512 SColumnTypesDontMatch,
513 SCantEndSharedTransaction,
514 SFieldUnsupportedType,
515 SCircularDataLink,
516 SEmptySQLStatement,
517 SIsASelectStatement,
518 SRequiredParamNotSet,
519 SNoStoredProcName,
520 SIsAExecuteProcedure,
521 SUpdateFailed,
522 SNotCachedUpdates,
523 SNotLiveRequest,
524 SNoProvider,
525 SNoRecordsAffected,
526 SNoTableName,
527 SCannotCreatePrimaryIndex,
528 SCannotDropSystemIndex,
529 STableNameMismatch,
530 SIndexFieldMissing,
531 SInvalidCancellation,
532 SInvalidEvent,
533 SMaximumEvents,
534 SNoEventsRegistered,
535 SInvalidQueueing,
536 SInvalidRegistration,
537 SInvalidBatchMove,
538 SSQLDialectInvalid,
539 SSPBConstantNotSupported,
540 SSPBConstantUnknown,
541 SServiceActive,
542 SServiceInActive,
543 SServerNameMissing,
544 SQueryParamsError,
545 SStartParamsError,
546 SOutputParsingError,
547 SUseSpecificProcedures,
548 SSQLMonitorAlreadyPresent,
549 SCantPrintValue,
550 SEOFReached,
551 SEOFInComment,
552 SEOFInString,
553 SParamNameExpected,
554 SSuccess,
555 SDelphiException,
556 SNoOptionsSet,
557 SNoDestinationDirectory,
558 SNosourceDirectory,
559 SNoUninstallFile,
560 SOptionNeedsClient,
561 SOptionNeedsServer,
562 SInvalidOption,
563 SInvalidOnErrorResult,
564 SInvalidOnStatusResult,
565 SDPBConstantUnknownEx,
566 STPBConstantUnknownEx,
567 SSV5APIError,
568 SThreadFailed,
569 SFieldSizeError,
570 STransactionNotEnding,
571 SDscInfoTokenMissing,
572 SNoLoginDialog,
573 SEmptyAttachmentsList,
574 SFirebirdLibraryLoaded,
575 SInfoBufferIndexError,
576 SInfoBufferTypeError,
577 SInfoBufferOverflow,
578 SServiceRequestIndexError,
579 SServiceParamTypeError,
580 SOutputBlockIndexError,
581 SOutputBlockTypeError,
582 SPBIndexError,
583 SPBParamTypeError,
584 SDuplicateParamName,
585 SInvalidArrayDimensions,
586 SNotAMultiDatabaseTransaction,
587 SAttachmentListIndexError,
588 SNotAnArray,
589 SNotABlob,
590 SInvalidSubscript,
591 SArrayElementOverFlow,
592 SArrayBoundsCantIncrease,
593 SStatementNotPrepared,
594 SInterfaceOutofDate,
595 SUnexpectedDatabaseInfoResp,
596 SInvalidBlobMetaData,
597 SNoDPB,
598 SInEventWait,
599 SIncompatibleBlob,
600 SMissingColumnName,
601 SStringTooLong,
602 SFieldNotinDataSet,
603 SNotCurrentArray,
604 SNoDefaultCharacterSet,
605 SParamBufferOverflow,
606 SInvalidParamCount,
607 SInvalidVariantType,
608 SServiceRunning,
609 SUniqueRelationReqd,
610 SInterfaceNotSupported,
611 SCharacterSetExists,
612 SUnknownUserCharSet,
613 SUninitializedInputParameter
614 );
615
616 function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
617 begin
618 Result := IBErrorMessages[ErrMess];
619 end;
620
621 end.
622