首先我要提一下,我在一个有多个线程的程序中使用sqlite3。两个线程只读(使用SELECT),而一个线程只插入东西。
我使用像这样的exec命令进行插入
int irc = sqlite3_exec(m_poDB, requestBuffer, nullptr, nullptr, nullptr);
// requestBuffer contains INSERT statement as a string
有时它返回100(SQLITE_ROW),有时返回101(SQLITE_DONE),从不返回0(SQLITE_OK)。为什么?如果我插入一条记录,我不明白如何返回SQLITE_ROW。
例如:INSERT INTO Labels(Amount, Color) VALUES ('3255','Red')
返回SQL-Error 100 while Request makeEntry_Label: not an error
。
INSERT INTO Labels(Amount, Color) VALUES ('3257','Blue')
返回SQL-Error 101 while Request makeEntry_Label: not an error
有时候,我也会得到SQL-Error 100 while Request makeEntry_Label: unknown error