返回sqlite3_exec()

时间:2015-06-11 07:35:59

标签: c++ multithreading sqlite

首先我要提一下,我在一个有多个线程的程序中使用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

0 个答案:

没有答案