视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Ubuntu下wxWidgets学生公寓管理编程,sqlite3的用法(mysql数据_MySQL
2020-11-09 19:19:47 责编:小采
文档


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$

下载本文
显示全文
专题