SQLite Transactions
发布时间:2020-12-12 20:38:09 所属栏目:百科 来源:网络整理
导读:#include "../SQLite3/sqlite3.h"#include iostream#include tchar.h#include windows.h#include MMSystem.h#pragma comment(lib,"winmm.lib")#define TEST_TIMES 10000#define ONE_M 1048576#define TEST_SELECT//#define USE_TRANSACTIONtypedef int(*sqli
#include "../SQLite3/sqlite3.h" #include <iostream> #include <tchar.h> #include <windows.h> #include <MMSystem.h> #pragma comment(lib,"winmm.lib") #define TEST_TIMES 10000 #define ONE_M 1048576 #define TEST_SELECT //#define USE_TRANSACTION typedef int(*sqlite3_callback)(void*,int,char**,char**); char Name[4][32] = {"david","boluns","guanzhongdaoke","wangba"}; char Sex[2][8] = {"boy","girl"}; int SleectCB(void* para,int n_column,char** column_value,char** column_name ) { printf("记录包含%d个字段n",n_column ); for(int i = 0 ; i < n_column; i ++ ) { printf("字段名:%s 字段值:%sn",column_name[i],column_value[i] ); } printf("------------------n"); return 0; } int sqlite_main() { sqlite3 * db = 0; int result = 0; char * errmsg = 0; #ifdef TEST_SELECT remove("test.db"); result = sqlite3_open("test.db",&db ); if( result !=SQLITE_OK) return -1; result = sqlite3_exec( db,"create table Info( ID integer,name nvarchar(32),sex integer,age integer)",NULL,&errmsg ); /* primary key*/ if(result !=SQLITE_OK) printf("创建表失败,错误码:%d,错误原因:%sn",result,errmsg ); #ifdef USE_TRANSACTION result = sqlite3_exec( db,"begin;",&errmsg ); #endif char sSQL[128] = {0}; for (int i=0;i<TEST_TIMES;i++) { memset(sSQL,128); sprintf(sSQL,"insert into Info values (%d,'%s',%d)",i,Name[rand()%4],Sex[rand()%2],rand()%50+1); result = sqlite3_exec( db,sSQL,&errmsg ); if(result !=SQLITE_OK) printf("插入记录失败,错误码:%d,错误原因:%sn",errmsg ); } #ifdef USE_TRANSACTION result = sqlite3_exec( db,"commit;",&errmsg ); #endif #else result = sqlite3_open("test.db","select * from Info",SleectCB,&errmsg ); #endif sqlite3_close( db ); return 0; } int _tmain(int argc,_TCHAR* argv[]) { DWORD dwNow = timeGetTime(); sqlite_main(); printf("数据库初始化用时:%dmsrn",timeGetTime()-dwNow); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |