执行完sqlite_exec后,返回值是SQLITE_OK,可是数据里没有插入数据,请问这是什么原因呢
大家好,我想在程序中执行一条插入语句,可是执行完插入语句后,程序返回值是0,但是数据库里没有看到插入的数据呢?我的代码是这样子的:
int GNSqliteCache::insertDataIntoMap( int level, int col, int row, QString tileId, QString layerId )
{
QString strSql = "";
strSql += "insert into map(zoom_level,tile_column,tile_row,tile_id,layer_id)";
strSql += " values('";
strSql += QString::number(level);
strSql += "','";
strSql += QString::number(col);
strSql += "','";
strSql += QString::number(row);
strSql += "','";
strSql += tileId;
strSql += "','";
strSql += layerId;
strSql += "');";
char *cErrMsg;
int nResult = sqlite3_exec(m_pDB, strSql.toStdString().c_str(), 0, 0, &cErrMsg);
return nResult;
}
这个m_pDB是个sqlite3*类型,在其他函数中执行的打开数据库操作,返回值是0.代码如下:
int GNSqliteCache::openSqliteDb( QString strPath )
{
int nRes = sqlite3_open(strPath.toStdString().c_str(), &m_pDB);
if (nRes != SQLITE_OK)
{
return nRes;
}
return nRes;
}
大家帮我看看这段程序有什么错误啊,多谢啦!!!