Bool HawkSqlite::Select(const UString& sSql, QueryResult& sResult) { if (m_pDBHandle && sSql.size()) { Char* pErrMsg = 0; Char** ppData = 0; Int32 iRow = 0; Int32 iCol = 0; if (sqlite3_get_table((sqlite3*)m_pDBHandle, (const Char*)sSql.c_str(), &ppData, &iRow, &iCol, &pErrMsg) != SQLITE_OK) { m_sErrMsg = (Utf8*)pErrMsg; m_iErrCode = sqlite3_errcode((sqlite3*)m_pDBHandle); sqlite3_free(pErrMsg); return false; } sResult.SetRow(iRow); sResult.SetCol(iCol); sResult.SetRes((void*)ppData); return true; } return false; }