SQLITE3 在VC/MFC 中使用的一点体会

前端之家收集整理的这篇文章主要介绍了SQLITE3 在VC/MFC 中使用的一点体会前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_404_1@

sqlITE简介:@H_404_1@

This is an extension for the sqlite Embeddable sql Database Engine. sqlite is a C library that implements an embeddable sql database engine. Programs that link with the sqlite library can have sql database access without running a separate RDBMS process.@H_404_1@

sqlite is not a client library used to connect to a big database server. sqlite is the server. The sqlite library reads and writes directly to and from the database files on disk.@H_404_1@

vc工程目录下设置Link L/对象类模块sqlite3.lib,c/c++分类 precompiled header选择不使用预补偿页眉@H_404_1@

首先将sqlITE3的七个文件放在和vc工程文件同一目录下,在工程中加入Cppsqlite3DB.cppCppsqlite3DB.h文件@H_404_1@

# include "Cppsqlite3.h"@H_404_1@

extern Cppsqlite3DB db;/////数据库对象@H_404_1@

remove("c://test.db");@H_404_1@

db.open("c://test.db");///打开数据库文件@H_404_1@

建立表格:@H_404_1@

db.execDML("create table Customer(CustomerName char(50),RoomNumber int,CustomerId int,ComeTime int,Money int);");@H_404_1@

db.execDML("create table Room(RoomNumber int,RoomPrice int,RoomState char[20]);");@H_404_1@

db.execDML("create table Manager(ManagerName char[20],PassWord int);");@H_404_1@

插入数据:@H_404_1@

string szCmd;@H_404_1@

string szName = m_data1;@H_404_1@

szCmd = "insert into Customer values(" ;@H_404_1@

szCmd +="'";@H_404_1@

szCmd +=szName;@H_404_1@

szCmd +="'";@H_404_1@

szCmd +=",";@H_404_1@

sprintf(a,"%d",m_data2);@H_404_1@

szCmd += a;@H_404_1@

szCmd += ",";@H_404_1@

sprintf(b,m_data3);@H_404_1@

szCmd +=b;@H_404_1@

szCmd +=","@H_404_1@

sprintf(c,m_data4);@H_404_1@

szCmd += c;@H_404_1@

szCmd += ",";@H_404_1@

sprintf(d,m_data5);@H_404_1@

szCmd += d;@H_404_1@

szCmd += ");";@H_404_1@

db.execDML(szCmd.c_str());/////////////插入sql语句@H_404_1@

MessageBox("提交成功,请继续!");@H_404_1@

更新数据:@H_404_1@

char k[20];//提交后更新房间信息@H_404_1@

string szCkd;@H_404_1@

szCkd="update Room set RoomState = 'notnull' where RoomNumber=";@H_404_1@

sprintf(k,m_data2);@H_404_1@

szCkd +=k;@H_404_1@

szCkd +=";";@H_404_1@

db.execDML(szCkd.c_str()); //////////插入sql语句@H_404_1@

查询数据:@H_404_1@

Cppsqlite3Query q = db.execQuery("select * from Customer;");@H_404_1@

while(!q.eof()){@H_404_1@

UpdateData(true);@H_404_1@

if(m_data1==q.getIntField(1))@H_404_1@

{@H_404_1@

s.m_data1=q.getStringField(0);@H_404_1@

s.m_data2=q.getIntField(1);@H_404_1@

s.m_data3=q.getIntField(2);@H_404_1@

s.m_data4=q.getFloatField(3);@H_404_1@

s.m_data5=q.getIntField(4);@H_404_1@

s.DoModal();@H_404_1@

UpdateData(false);@H_404_1@

break;}@H_404_1@

q.nextRow();@H_404_1@

if(q.eof()==true)@H_404_1@

MessageBox("本旅馆无该房间!");@H_404_1@

}@H_404_1@

删除数据:@H_404_1@

char a[20];@H_404_1@

sprintf(a,m_data2);@H_404_1@

string szCmd;@H_404_1@

szCmd="delete from Room where RoomNumber =" ;@H_404_1@

szCmd+=a;@H_404_1@

szCmd+=";";@H_404_1@

int b=0;@H_404_1@

b=db.execDML(szCmd.c_str());@H_404_1@

if(b==0)@H_404_1@

MessageBox("操作错误,没有该房间信息");@H_404_1@

else@H_404_1@

MessageBox("删除房间信息成功");@H_404_1@

@H_404_1@

以上为sqlITE3在窗体交互下简易实现几种数据库基本功能的简单说明!@H_404_1@

vc工程目录下设置Link L/对象类模块sqlite3.lib,m_data2);@H_404_1@

szCkd +=k;@H_404_1@

szCkd +=";";@H_404_1@

db.execDML(szCkd.c_str()); //////////插入sql语句@H_404_1@

查询数据:@H_404_1@

Cppsqlite3Query q = db.execQuery("select * from Customer;");@H_404_1@

while(!q.eof()){@H_404_1@

UpdateData(true);@H_404_1@

if(m_data1==q.getIntField(1))@H_404_1@

{@H_404_1@

s.m_data1=q.getStringField(0);@H_404_1@

s.m_data2=q.getIntField(1);@H_404_1@

s.m_data3=q.getIntField(2);@H_404_1@

s.m_data4=q.getFloatField(3);@H_404_1@

s.m_data5=q.getIntField(4);@H_404_1@

s.DoModal();@H_404_1@

UpdateData(false);@H_404_1@

break;}@H_404_1@

q.nextRow();@H_404_1@

if(q.eof()==true)@H_404_1@

MessageBox("本旅馆无该房间!");@H_404_1@

}@H_404_1@

@H_404_1@

删除数据:@H_404_1@

char a[20];@H_404_1@

sprintf(a,m_data2);@H_404_1@

string szCmd;@H_404_1@

szCmd="delete from Room where RoomNumber =" ;@H_404_1@

szCmd+=a;@H_404_1@

szCmd+=";";@H_404_1@

int b=0;@H_404_1@

b=db.execDML(szCmd.c_str());@H_404_1@

if(b==0)@H_404_1@

MessageBox("操作错误,没有该房间信息");@H_404_1@

else@H_404_1@

MessageBox("删除房间信息成功");@H_404_1@

@H_404_1@

@H_404_1@

以上为sqlITE3在窗体交互下简易实现几种数据库基本功能的简单说明!@H_404_1@

vc工程目录下设置Link L/对象类模块sqlite3.lib,m_data2);@H_404_1@

string szCmd;@H_404_1@

szCmd="delete from Room where RoomNumber =" ;@H_404_1@

szCmd+=a;@H_404_1@

szCmd+=";";@H_404_1@

int b=0;@H_404_1@

b=db.execDML(szCmd.c_str());@H_404_1@

if(b==0)@H_404_1@

MessageBox("操作错误,没有该房间信息");@H_404_1@

else@H_404_1@

MessageBox("删除房间信息成功");@H_404_1@

以上为sqlITE3在窗体交互下简易实现几种数据库基本功能的简单说明!@H_404_1@

猜你在找的Sqlite相关文章