ubuntu
以下是学生公寓信息管理的增加和删除,仅供参考。。
void stumanaframe::onadd(wxcommandevent &event)
{
//add student's dormitory infomation
sqlite3 *db=null;
int flag;
char *errmsg;
flag = sqlite3_open(./stuinfo.db,&db);
if(sqlite_ok != flag)
{
wxlogmessage(database connect failed!);
exit(-1);
}
char id[20], name[20], dorid[20], phone[20], qq[20];
strcpy(id, m_id->getvalue().mb_str());
strcpy(name, m_name->getvalue().mb_str());
strcpy(dorid, m_dormitoryid->getvalue().mb_str());
strcpy(phone, m_phone->getvalue().mb_str());
strcpy(qq, m_qq->getvalue().mb_str());
if(strcmp(, id) == 0)
{
wxlogmessage(the stu's id can not be null);
return;
}
if(strcmp(, name) == 0)
{
wxlogmessage(the stu's name can not be null);
return;
}
char st[500];
sprintf(st, insert into stu values('%s', '%s', '%s', '%s', '%s');,
id, name, dorid, phone, qq);
sqlite3_exec(db,st,null,null,&errmsg );
wxlogmessage(wxstring(errmsg));
sqlite3_close(db);
}
void stumanaframe::ondelete(wxcommandevent &event)
{
//delete student's dormitory infomation
sqlite3 *db=null;
int flag;
char *errmsg;
char stuid[20];
flag = sqlite3_open(./stuinfo.db,&db);
if(sqlite_ok != flag)
{
wxlogmessage(database connect failed!);
exit(-1);
}
strcpy(stuid, m_deleteid->getvalue().mb_str());
if(strcmp(, stuid) == 1)
{
wxlogmessage(the stu's id deleted can not be null);
return;
}
char *sql=sqlite3_mprintf(delete from stu where id ='%s';,stuid);
if(sqlite3_exec(db,sql,null,null,&errmsg) != sqlite_ok)
{
wxlogmessage(error);
wxlogmessage(errmsg);
return;
}
else
{
wxlogmessage(delete success!!);
return;
}
}
sqlite3建立数据库
1.先在线安装sqlite3,试用一下命令安装
ubuntu@ubuntu-virtual-machine:~$ sudo apt-get install sqlite3
2.安装成功后测试会出现
ubuntu@ubuntu-virtual-machine:~$ sqlite3
sqlite version 3.7.9 2011-11-01 00:52:41
enter .help for instructions
enter sql statements terminated with a ;
sqlite> .exit
3.查找sqlite3的路径
ubuntu@ubuntu-virtual-machine:~$ which sqlite3
/usr/bin/sqlite3
ubuntu@ubuntu-virtual-machine:~$ ls
core oslab1 public videos
desktop oslab2 qt vmwaretools
documents oslab3 sqlite-amalgamation-3080403 wx
downloads oslab4 sqlite-amalgamation-3080403.zip wx3.0
examples.desktop oslab5 stumana wxlab
music pictures templates
4.具体sqlite3操作的实例
ubuntu@ubuntu-virtual-machine:~$ mkdir mydb
ubuntu@ubuntu-virtual-machine:~$ cd mydb
ubuntu@ubuntu-virtual-machine:~/mydb$ ls
ubuntu@ubuntu-virtual-machine:~/mydb$ sqlite3 stu.db
sqlite version 3.7.9 2011-11-01 00:52:41
enter .help for instructions
enter sql statements terminated with a ;
sqlite> create table stu(sno int primary key, sname text not null, sage int);
sqlite> insert into stu(1, 'lisi', 20);
error: near 1: syntax error
sqlite> insert into stu values(1, 'lisi', 20);
sqlite> insert into stu values(2, 'zhangsan', 18);
sqlite> select * from stu;
1|lisi|20
2|zhangsan|18
sqlite> .exit
ubuntu@ubuntu-virtual-machine:~/mydb$ ls
stu.db
5.具体sqlite3操作的实例
ubuntu@ubuntu-virtual-machine:~$ cd stumana
ubuntu@ubuntu-virtual-machine:~/stumana$ sqlite3 stuinfo.db
sqlite version 3.7.9 2011-11-01 00:52:41
enter .help for instructions
enter sql statements terminated with a ;
sqlite> create table stuinfo (id char(10),name char(15) not null,dormitoryid char(20) not null,phone char(11),qq char(13));
sqlite> insert into stuinfo values('1115115247','liya','15#501','15530061772','614100932');
sqlite> insert into stuinfo values('1115115276','zhangaihua','15#424','18330000036','627100056');
sqlite> select * from stuinfo;
1115115247|liya|15#501|15500761772|614100932
1115115276|zhangaihua|15#424|18330000036|627100056
sqlite> .exit
ubuntu@ubuntu-virtual-machine:~/stumana$ ls
bin stuinfo.db stumana.depend wxwizframe.fbp
guiframe.cpp stumanaapp.cpp stumana.layout wxwizframe.fbp.bak
guiframe.h stumanaapp.h stumanamain.cpp
obj stumana.cbp stumanamain.h
ubuntu@ubuntu-virtual-machine:~/stumana$