SQLite3使用

SQLite3使用

www.sqlite.org下载shell把exe放置C:\WINDOWS\system32下

创建数据库user

sqlite3 user  

创建表tbl

create table tbl(name char(10), age smallint, score float);

查询表

.table

插入数据

insert into tbl values('yanggang', 24, 98);

insert into tbl values('sunboy', 20, 78.5);

查询数据

select * from tbl;

修改显示模式

.mode column


sqlite3 表里插入系统时间(时间戳)

CREATE TABLE time([ID] INTEGER PRIMARY KEY,[IDCardNo] VARCHAR (50),[CreatedTime] TimeStamp NOT NULL DEFAULT (datetime('now','localtime')));



sqlite3 *db = 0;

  sqlite3_stmt * stmt;

  sqlite3_open("./test.db", &db);

  char* zErrMsg = 0;

  sqlite3_prepare(db,"select * from admin;",-1,&stmt,0);

  int rc = sqlite3_step(stmt);

  while( rc == SQLITE_ROW )

  {

  CString type = sqlite3_column_text(stmt,0);

  CString adminpassword = sqlite3_column_text(stmt,1);

  MessageBox(type);

  MessageBox(adminpassword);

  rc=sqlite3_step(stmt);

  }

  sqlite3_finalize(stmt);

  sqlite3_close(db)

sqlite3取数据库数据

sqlite3 * db = NULL;
char * err_msg = NULL;
sqlite3_stmt * stmt;

char *sql = sqlite3_mprintf("select * from  ALLID"); //获得表内所有记录
sqlite3_prepare(db,sql,-1,&stmt, 0);
int rc = sqlite3_step(stmt);
m_report.DeleteAllItems();
while( rc == SQLITE_ROW ) // 逐行取出需要的数据
{



CString id = sqlite3_column_text(stmt,1);
CString setname = sqlite3_column_text(stmt,2);
//MessageBox(id);
m_report.InsertItem(m_report.GetItemCount(),id);
m_report.SetItemText(m_report.GetItemCount()-1,1,setname);
//if(DataReport.Mid(ring+3,1)=="*") m_report.SetItemText(m_report.GetItemCount()-1,3,DataReport.Mid(ring+4,2));
//if(DataReport.Mid(ring+6,1)=="*") m_report.SetItemText(m_report.GetItemCount()-1,4,DataReport.Mid(ring+7,2));
//m_report.SetItemText(m_report.GetItemCount()-1,5,time);


rc=sqlite3_step(stmt);
}
sqlite3_finalize(stmt);
sqlite3_close(db);


sqlite3存入中文数据navicat premium显示

(1)写入:

char  str  [256]  =  "实验";    
WCHAR*  strA;  
int  i=  MultiByteToWideChar  ( CP_ACP   ,  0  ,(char*)  str  ,-1  ,NULL,0);  
strA  =  new  WCHAR[i];  
MultiByteToWideChar  (  CP_ACP  ,  0  ,(  char  *  )  str,  -1,  strA  ,  i);  
i=  WideCharToMultiByte(CP_UTF8,0,strA,-1,NULL,0,NULL,NULL);  
    char  *strB=new  char[i];   // 即所需的类型
WideCharToMultiByte  (CP_UTF8,0,strA,-1,strB,i,NULL,NULL); 

(2)读出到mfc

CString setname = sqlite3_column_text(stmt,2);
char *str =(LPSTR)(LPCTSTR)setname;
// char  str  [256]  =  "实验";    
int len = ::MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0);  
vector<wchar_t> unicode(len);   
MultiByteToWideChar(CP_UTF8, 0, str, -1, &unicode[0], len);  
setname=CString(&unicode[0]);



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值