2007-12-04 00:42DBMS panic 错误码只是在头文件中定义了而没有出现在SDK文档中。查阅起来比较繁琐。
DBMS错误码有四种类型分别是:1 DBMS2 DBMS-Server3 DBMS-Store4 DBMS-Table
当你遇到关于DBMS的错误的时候首先要注意是那种错误。
他们分别位于不同的头文件中如下:
ud_std.h (DBMS) EDbUnimplemented, 0EDbInvalidColumn, 1EDbUninitialised, 2EDbRowLengthOverflow, 3EDbTooManyKeys, 4EDbInvalidViewWindowParameters, 5EDbWrongType, 6EDbInvalidIncrementalStep, 7EDbNoColumnsInSeekKey 8
sd_std.h (DBMS-Server) EDbsUnimplemented, 0EDbsInvalidColumn, 1EDbsWrongType, 2EDbsNoRowData, 3EDbsNotInUpdate, 4EDbsBadDescriptor, 5EDbsBadHandle, 6EDbsStreamMarkInvalid, 7EDbsStreamLocationInvalid, 8EDbsObserverRequestPending 9
us_std.h (DBMS-Store) EDbUnimplemented, 0EDbNoStore, 1EDbCannotSeek, 2EDbNotFixedFieldType, 3EDbWrongType 4
ut_std.h (DBMS-Table) EDbInvalidColumn, 0EDbWrongType, 1 EDbInUpdate, 2EDbNotInUpdate, 3EDbInvalidRow, 4EDbRowNotRead, 5EDbReadOnly, 6EDbTableOpen, 7EDbNotEvaluated, 8EDbStreamOpen, 9EDbRowSetConstraintMismatch, 10EDbBeginNestedTransaction, 11EDbUpdatesPendingOnCommit, 12EDbUpdatesPendingOnRollback, 13EDbNoCurrentTransaction, 14EDbStreamsPendingOnCommit, 15EDbStreamsPendingOnRollback, 16EDbInvalidBookmark 17
我今天就遇到了两个panic :一个是DBMS-Table 3 - EDbNotInUpdate,这是因为我调用RDbTable的SetColL前没有调用UpdateL另外一个是 DBMS-Store 4 -EDbWrongType 这是因为我在执RDbTable的SeekL的时候使用的类型和index的类型不一致造成的。保证TDbSeekKey构造函数的参数的类型和你使用的Index的对应的列的类型一致就可以避免这种错误了。