static QSqlError qMakeError(sqlite3 *access, const QString &descr, QSqlError::ErrorType type, int errorCode = -1) { return QSqlError(descr, QString(reinterpret_cast<const QChar *>(sqlite3_errmsg16(access))), type, QString::number(errorCode)); }
static QSqlError qMakeError(sqlite3 *access, const QString &descr, QSqlError::ErrorType type, int errorCode = -1) { return QSqlError(descr, QString::fromUtf16( (const ushort *) sqlite3_errmsg16(access) ), type, errorCode); }
static QSqlError qMakeError(sqlite3 *access, const QString &descr, QSqlError::ErrorType type, int errorCode = -1) { return QSqlError(descr, stringFromUnicode(reinterpret_cast<const QChar *>(sqlite3_errmsg16(access))), type, errorCode); }
extern "C" HANDLE __stdcall ExecuteCommand(HANDLE hDB, WCHAR * szCommand, HANDLE hBind) { RowsRet * pRows = new RowsRet(); pRows->nCount = 0; BindHandle * bind = (BindHandle*) hBind; DbHandle * dbh = (DbHandle*) hDB; char * szErrMsg = NULL; int rc = sqlite3_exec_utf16(dbh->db, szCommand, StoreCallback, pRows, bind); if (rc != SQLITE_OK) { if (dbh->szLastError) { delete dbh->szLastError; } WCHAR * szErr = (WCHAR*) sqlite3_errmsg16(dbh->db); size_t nLen = wcslen(szErr) + 1; dbh->szLastError = new WCHAR[nLen]; wcscpy_s(dbh->szLastError, nLen, szErr); delete pRows; pRows = NULL; } return (HANDLE)pRows; }
static void HL_NAME(error)( sqlite3 *db, bool close ) { hl_buffer *b = hl_alloc_buffer(); hl_buffer_str(b, USTR("SQLite error: ")); hl_buffer_str(b, sqlite3_errmsg16(db)); if ( close ) sqlite3_close(db); hl_error_msg(hl_buffer_content(b, NULL)); }
/*! SQLiteのエラー情報を出刃愚兎淫怒兎に表示 @param[in] *psqTarget エラーチェキしたいデタベス @param[in] dline 呼び出した地点の行数 */ VOID SqlErrMsgView( sqlite3 *psqTarget, DWORD dline ) { //TCHAR atStr[MAX_PATH]; // そんなバッファ容量で大丈夫か //StringCchPrintf( atStr, MAX_PATH, TEXT("%s[%u]\r\n"), sqlite3_errmsg16( psqTarget ), dline ); //OutputDebugString( atStr ); TRACE( TEXT("%s[%u]"), sqlite3_errmsg16( psqTarget ), dline ); return; }
// 获取上一条错误信息 LPCTSTR SQLite::GetLastErrorMsg() { #ifdef UNICODE return (LPCTSTR)sqlite3_errmsg16(m_db); #else return sqlite3_errmsg(m_db); #endif }
static void test_agg_errmsg16_final(sqlite3_context *ctx){ #ifndef SQLITE_OMIT_UTF16 const void *z; sqlite3 * db = sqlite3_context_db_handle(ctx); sqlite3_aggregate_context(ctx, 2048); sqlite3BeginBenignMalloc(); z = sqlite3_errmsg16(db); sqlite3EndBenignMalloc(); sqlite3_result_text16(ctx, z, -1, SQLITE_TRANSIENT); #endif }
ikptr ik_sqlite3_errmsg16 (ikptr s_conn, ikpcb * pcb) { #ifdef HAVE_SQLITE3_ERRMSG16 sqlite3 * conn = IK_SQLITE_CONNECTION(s_conn); const void * rv; rv = sqlite3_errmsg16(conn); return ika_bytevector_from_cstring(pcb, rv); #else feature_failure(__func__); #endif }
bool sqlite_db::step() { if(!_stmt) return false; sqlite3_stmt* stmt=(sqlite3_stmt*)_stmt; int ret=sqlite3_step(stmt); if(ret==SQLITE_DONE) { if(sqlite3_column_count(stmt)) _array_res.push_back(sqlite_res()); // check if the statement will produce resultset, add a blank even if no rows to keep consistent return true; } if(ret!=SQLITE_ROW) { _err_msg=(const wchar_t*)sqlite3_errmsg16((sqlite3*)_handle); return false; } if(ret==SQLITE_ROW) _array_res.push_back(sqlite_res()); sqlite_res& res=*(_array_res.end()-1); int row=0; while(ret==SQLITE_ROW) { res._res.push_back(vector<sqlite_res::VALUE>()); int i; int count=sqlite3_column_count(stmt); for(i=0;i<count;++i) { res._res[row].push_back(sqlite_res::VALUE()); int type=sqlite3_column_type(stmt,i); if(type==SQLITE_NULL) continue; if(type==SQLITE_BLOB) { if(!sqlite3_column_bytes(stmt,i)) continue; vector<char>& blob=res._res[row][i].blob; blob.resize(sqlite3_column_bytes(stmt,i)); memcpy(&blob[0],sqlite3_column_blob(stmt,i),sqlite3_column_bytes(stmt,i)); continue; } res._res[row][i].text=(const wchar_t*)sqlite3_column_text16(stmt,i); } ++row; ret=sqlite3_step(stmt); } return true; }
void Session::_HandleResult(int result_code) const { if(result_code != SQLITE_OK && result_code != SQLITE_ROW && result_code != SQLITE_DONE) { CString errorMessage; TCHAR *error; #ifdef UNICODE error = (TCHAR*)sqlite3_errmsg16(m_dbHandle); #else error = sqlite3_errmsg(handle); #endif errorMessage = error; throw SessionException(errorMessage); } }
bool sqlite_db::prepare() // call this method will prepare the next statement in the previous query, return true means successful and can continue { _err_msg=L""; if(_stmt) sqlite3_finalize((sqlite3_stmt*)_stmt); _stmt=NULL; if(!_prepare_remains.length()) { _err_msg=(const wchar_t*)sqlite3_errmsg16((sqlite3*)_handle); return false; } const wchar_t* remains=NULL; sqlite3_prepare16_v2((sqlite3*)_handle,_prepare_remains.c_str(),(int)(_prepare_remains.length()<<1),(sqlite3_stmt**)&_stmt,(const void**)&remains); if(!_stmt) return false; _prepare_remains=_prepare_remains.substr(remains-_prepare_remains.c_str()); return true; }
static JSVAL sqlite_errmsg16(JSARGS args) { HandleScope scope; Local<External>wrap = Local<External>::Cast(args[0]); sqlite3 *db = (sqlite3 *)wrap->Value(); return scope.Close(String::New((char *)sqlite3_errmsg16(db))); }