sqlite3 *db;
sqlite3_stmt *stat;
char
*zErrMsg = 0;
char
temp[256], FileRoot[256];
char
buffer2[1024]="0";
sprintf(temp, _T("%s"), _T("utf.db"));
CCodingConv::GB2312_2_UTF8(FileRoot, 256, temp, 0);
sqlite3_open(FileRoot, &db);
if
(db == NULL)
{
return
-1;
}
sqlite3_key(db,"1q2w3e4r",8);
sqlite3_exec(db, "CREATE TABLE list (fliename varchar(128) UNIQUE, fzip text);", 0, 0, &zErrMsg);
sqlite3_prepare(db, "insert into list values ('
中文GB2312
编码',?);", -1, &stat, 0);
strcpy(temp, "
测试数据UTF-8
的支持情况");
int
len = (int
)strlen(temp);
sqlite3_bind_text(stat, 1, temp, len, NULL);
sqlite3_step(stat);
sqlite3_prepare(db, "select * from list;", -1, &stat, 0);
sqlite3_step(stat);
const
unsigned
char
* test = sqlite3_column_text(stat, 1);
int
size = sqlite3_column_bytes(stat, 1);
printf("%s", test);
sqlite3_finalize(stat);
//sqlite3_rekey(db,"",0);
sqlite3_close(db);
(vc2003)http://www.sqlite.com.cn/Upfiles/source/sqlite3crypt.rar
(vs2005)http://www.sqlite.com.cn/Upfiles/source/sqlite3_3_7_key.rar
搞定了一个困扰许久的问题,原来sqlite中的主键也是可以设置为自增的:)方法就是声明为 INTEGER PRIMARY KEY 的字段可以自动增加。
网上查到资料说,从 SQLite 的 2.3.4 版本开始,如果将一个表中的一个字段声明为 INTEGER PRIMARY KEY,那么只需向该表的该字段插入一个 NULL 值, ......
近来因为工作需要加入sqlite 处理数据,下载了sqlite3.6.22(amalgamation 版本),又想自己动手编译出来想动态链接就动态,想静态链接也可以,于是有了这篇文章,有意思的是之前也试过编译Sqlite,但没成功,不了了之,可能近来要过年了
跟
RP有关吧:)。
1 首先创建vs2008的一个空DLL工程;
2 ......