symbian下的数据库DBMS错误码

DBMS panic 错误码只是在头文件中定义了而没有出现在SDK文档中。查阅起来比较繁琐。

DBMS错误码有四种类型分别是:
1 DBMS
2 DBMS-Server
3 DBMS-Store
4 DBMS-Table

当你遇到关于DBMS的错误的时候首先要注意是那种错误。

他们分别位于不同的头文件中如下:

ud_std.h (DBMS)
EDbUnimplemented, 0
EDbInvalidColumn, 1
EDbUninitialised, 2
EDbRowLengthOverflow, 3
EDbTooManyKeys, 4
EDbInvalidViewWindowParameters, 5
EDbWrongType, 6
EDbInvalidIncrementalStep, 7
EDbNoColumnsInSeekKey 8

sd_std.h (DBMS-Server)
EDbsUnimplemented, 0
EDbsInvalidColumn, 1
EDbsWrongType, 2
EDbsNoRowData, 3
EDbsNotInUpdate, 4
EDbsBadDescriptor, 5
EDbsBadHandle, 6
EDbsStreamMarkInvalid, 7
EDbsStreamLocationInvalid, 8
EDbsObserverRequestPending 9

us_std.h (DBMS-Store)
EDbUnimplemented, 0
EDbNoStore, 1
EDbCannotSeek, 2
EDbNotFixedFieldType, 3
EDbWrongType 4

ut_std.h (DBMS-Table)
EDbInvalidColumn, 0
EDbWrongType, 1
EDbInUpdate, 2
EDbNotInUpdate, 3
EDbInvalidRow, 4
EDbRowNotRead, 5
EDbReadOnly, 6
EDbTableOpen, 7
EDbNotEvaluated, 8
EDbStreamOpen, 9
EDbRowSetConstraintMismatch, 10
EDbBeginNestedTransaction, 11
EDbUpdatesPendingOnCommit, 12
EDbUpdatesPendingOnRollback, 13
EDbNoCurrentTransaction, 14
EDbStreamsPendingOnCommit, 15
EDbStreamsPendingOnRollback, 16
EDbInvalidBookmark 17

我今天就遇到了两个panic :
一个是DBMS-Table 3 - EDbNotInUpdate,这是因为我调用RDbTable的SetColL前没有调用UpdateL
另外一个是 DBMS-Store 4 -EDbWrongType 这是因为我在执RDbTable的SeekL的时候使用的类型和index的类型不一致造成的。保证TDbSeekKey构造函数的参数的类型和你使用的Index的对应的列的类型一致就可以避免这种错误了。

猜你喜欢

转载自blog.csdn.net/windcao/article/details/1820113