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
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]);