sqlite数据库基本操作
//插入及更新操作
int nRet = 0;
sqlite3 * db = NULL;
CString strFilePath; //数据库存储路径
//路径赋值(省略)
//连接数据库
nRet = sqlite3_open16(strFilePath, &db); //有几个打开函数可供调用,使用WCHAR类型路径用这个
if(nRet != SQLITE_OK)
{
LogD(_Q_D,L"数据库打开失败");
return -4;
}
CString strSQLSentence;
char *szSQLSentence = NULL;
组织SQL语句
**********************
{
//更新操作
strSQLSentence.Format(L"update tbl_ad set AD_TITLE='%s', AD_INFO='%s', BEGIN_TIME='%s', END_TIME='%s' where AD_ID='%s';", strADTitle, strADInfo, strADBeginTime, strADEndTime, strADId);
}
{
//插入操作
strSQLSentence.Format(L"insert into tbl_Advertisement values('%s','%s','%s','%s','%s');", strADId, strADTitle, strADInfo, strADBeginTime, strADEndTime);
}
**********************
//将SQL语句转换成sqlite函数能执行的UTF8格式
nLen = 0;
nLen = WideCharToMultiByte(CP_UTF8, 0, strSQLSentence, -1, NULL, 0, NULL, 0);
szSQLSentence = new char[nLen+1];
if (szSQLSentence == NULL)
{
return -6;
}
memset(szSQLSentence, 0, nLen+1);
WideCharToMultiByte(CP_UTF8, 0, strSQLSentence, -1, szSQLSentence, nLen+1, NULL, 0);
//锁定数据库
if(SQLiteLock(L"terminalplat.db",30*1000) == 0) //SQLiteLock为自写的一套锁机制中的函数
{
// 准备执行SQL
nRet = sqlite3_exec( db, "begin;", 0, 0, 0);
if(nRet == SQLITE_OK)
{
BOOL bSuccess = TRUE;
char * pErrMsg = NULL;
// 执行SQL
nRet = sqlite3_exec( db, szSQLSentence, 0, 0, &pErrMsg);
if(nRet != SQLITE_OK)
 
相关文档:
SQLite驱动支持的SQL 列类型
类型描述
TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, BYTEA
不限制长度的字符串类型. 二进制数据必须安全地编码存储, 见text类型.
CHAR(), VARCHAR(), TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT
不限制长度的字符串类型. 不会被截断或者填充
ENUM
不限制长度的字符串类型. 不像 MySQL, 使用 ......
Sqlite3.3.8移植
1、下载sqlite-3.3.8.tar.gz源码包,解压tar –zxvf sqlite-3.3.8.tar.gz
2、Cd sqlite-3.3.8
3、手动修改makefile 文件,目录下有一个makefile案例文件: Makefile.linux-gcc
4、重命名一个Makefile文件,cp Makefile.linux-gcc Makefile
5、 打开Makefile文件:vi Makefile
6、&nb ......
OS X自从10.4后把SQLite这套相当出名的数据库软件,放进了作业系统工具集里。OS X包装的是第三版的SQLite,又称SQLite3。这套软件有几个特色:
软件属于公共财(public domain),SQLite可说是某种「美德软件」(virtueware),作者本人放弃着作权,而给使用SQLite的人以下的「祝福」(blessing):
May you do good an ......
近来因为工作需要加入sqlite 处理数据,下载了sqlite3.6.22(amalgamation 版本),又想自己动手编译出来想动态链接就动态,想静态链接也可以,于是有了这篇文章,有意思的是之前也试过编译Sqlite,但没成功,不了了之,可能近来要过年了
跟
RP有关吧:)。
1 首先创建vs2008的一个空DLL工程;
2 ......
1:常用接口
个人比较喜欢
sqlite,
使用最方便,唯一的准备工作是下载
250K
的源;而且作者很热心,有问必答。
以下演示一下使用
sqlite
的步骤,先创建一个数据库,然后查询其中的内容。
2
个重要结构体和
5
个主要函数:
sqlite3 &nbs ......