//++其他的头文件

#include "sqlite3.h"
#pragma comment(lib,"sqlite3.lib")

int GetItemCount(sqlite3 *db,LPCTSTR str)//select count(*) from x ;
{
    sqlite3_stmt *pstmt=NULL;
    sqlite3_prepare16_v2(db,str,-1,&pstmt,NULL);
    sqlite3_step(pstmt);
    int nCount = sqlite3_column_int(pstmt,0);
    sqlite3_finalize(pstmt);

    return nCount;
}

int main()
{

    wcout.imbue(std::locale("chs"));
#define _SIZEBUF 2000*1024
#define _QUERYITEMS L"select count(*) from stt"

    sqlite3 *db = NULL;
    TCHAR *errMsg = NULL;
    sqlite3_stmt *pstmt=NULL;
    TCHAR *psql = NULL;

int nRet = -1,nRows=-1;
nRet = sqlite3_open16(L"F:\\my.db",&db);
if (nRet)
{
    wcout<<L"无法打开sqlite数据库:"<<sqlite3_errmsg16(db)<<endl;
    sqlite3_close(db);
    cin.get();

    return 1;
}
else
{
    wcout<<L"成功打开my.db"<<endl;

}

sqlite3_exec(db,"create table if not exists stt(id nchar(20) primary key,name nchar(20));insert into stt values('1','zhang');insert into stt values('2','li');",NULL,NULL,NULL);

cout<<"表里面的项目数为:"<<GetItemCount(db,_QUERYITEMS)<<endl;

//删除or插入

//psql=L"delete from stt where id='4';";
//sqlite3_prepare16_v2(db,psql,-1,&pstmt,NULL);
//sqlite3_step(pstmt);
//sqlite3_finalize(pstmt);
//cout<<"表里面的项目数为:"<<GetItemCount(db,_QUERYITEMS)<<endl;

//psql=L"insert or replace into stt where id='4';";
//sqlite3_prepare16_v2(db,psql,-1,&pstmt,NULL);
//sqlite3_step(pstmt);
//sqlite3_finalize(pstmt);
//cout<<"表里面的项目数为:"<<GetItemCount(db,_QUERYITEMS)<<endl;

//更新

psql = L"update st set name='zhang123' where id=3";
sqlite3_prepare16(db,psql,_tcslen(psql)*sizeof(TCHAR),&pstmt,NULL);
nRet = sqlite3_step(pstmt);
switch (nRet)
{
case SQLITE_DONE:
    cout<<"SQLITE_DONE"<<endl;break;//注意,未找到或者已经遍历到结果集末尾的话,返回SQLITE_DONE
case SQLITE_ROW:
    cout<<"SQLITE_ROW"<<endl;break;//若找到(甚至一个),则返回sqlite_row
case SQLITE_ERROR:
    cout<<"SQLITE_ERROR"<<endl;break;
default:
    cout<<"Unknown"<<endl;break;
}
//sqlite3_finalize(pstmt);
int nAffected = sqlite3_changes(db);
cout<<"受影响的行数为:"<<nAffected<<endl;
sqlite3_reset(pstmt);

sqlite3_close(db);
cin.get();
return 1;

}

最新文章

  1. hudson部署过程
  2. 关于hasNextInt判断后无限循环输出else项的解决办法
  3. 大数据通过PHP快速插入MYSQL的方法
  4. C++ 序列式容器之vector
  5. mysql高级排序&amp;高级匹配查询示例
  6. solaris之复习
  7. python_元组
  8. 使用eclipse生成文档(javadoc)
  9. SQL Server 2005下载安装
  10. 函数响应式编程及ReactiveObjC学习笔记 (-)
  11. 多行文字水平垂直居中在div
  12. 【Core】当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置
  13. Beta冲刺 3
  14. python网络聊天器多线程版
  15. Gson如何解析key值是数字的json数据
  16. 017_mac格式化硬盘,mac如何格式化硬盘
  17. jdk TreeMap工作原理分析
  18. java 代码块,静态代码块,构造器等的执行顺序
  19. mySql的普通索引和复合索引
  20. AngularJS+RequireJs实现动态加载JS和页面的方案研究【上】

热门文章

  1. ABP项目后台初始化数据库
  2. 洛谷 P3205 [HNOI2010]合唱队
  3. BT网站--Python开发爬虫代替.NET
  4. 选择IM云服务供应商
  5. panda强化练习2
  6. 2019.3.26 SQL语句(进阶3)
  7. Tesorflow-自动编码器(AutoEncoder)
  8. js正则表达式基本语法
  9. kafaka安装
  10. maven+springboot+阿里大于