Tag: 准备好的声明

vs2012:SQLite:访问冲突读取位置0x0000000C

我正在使用C在vs2012中实现SQLite Prepare-Statement。 我使用此链接作为教程来捕获每次运行代码时在我的机器上运行的进程。 一切都运行正常,除了prepare-statement不允许我把它放在do-while循环之外。 如果我把它放在do-while循环中,那么我实际上什么都不做,因为每次db-insertion都会再次执行prepare-statement,这是不切实际的。 但是,当我将prepare-statement放在do-while循环中并运行代码时,它工作正常(但它运行尽可能多的插入我必须插入)。 当我把do-while循环放在外面时,它会给我一个内存警告和中断。 这是我如何实现SQLite: BOOL GetProcessList(sqlite3 *db) { HANDLE hProcessSnap; HANDLE hProcess; PROCESSENTRY32 pe32; DWORD dwPriorityClass; sqlite3_stmt* stmt; char *errorMessage; char query[80] = “INSERT INTO Process_list VALUES (?1, ?2, ?3, ?4, ?5);”; // Take a snapshot of all processes in the system. hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 ); if( hProcessSnap == […]