@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.cpp和Cppsqlite3DB.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@
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@
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@
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@
@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@