数据库应用系统开发案例-程序代码
- 格式:doc
- 大小:329.50 KB
- 文档页数:14
python数据库经典案例Python数据库经典案例1. 学生信息管理系统描述:开发一个学生信息管理系统,使用Python和数据库技术,可以实现学生信息的增删改查功能,并且能够对学生信息进行统计和分析。
2. 酒店预订系统描述:使用Python和数据库技术开发一个酒店预订系统,可以实现用户预订酒店、查询酒店信息、取消预订等功能,并且能够实时更新房间的预订情况。
3. 电商平台订单管理系统描述:使用Python和数据库技术开发一个电商平台订单管理系统,可以实现订单的生成、支付、发货、退款等功能,并且能够实时更新订单的状态和物流信息。
4. 图书馆管理系统描述:开发一个图书馆管理系统,使用Python和数据库技术,可以实现图书的借阅、归还、续借等功能,并且能够对图书的借阅情况进行统计和管理。
5. 车辆租赁管理系统描述:使用Python和数据库技术开发一个车辆租赁管理系统,可以实现用户租车、还车、查询车辆信息等功能,并且能够实时更新车辆的租赁情况和状态。
6. 在线考试系统描述:开发一个在线考试系统,使用Python和数据库技术,可以实现考试的组卷、考试、判卷等功能,并且能够对考生的成绩和答题情况进行统计和分析。
7. 智能家居控制系统描述:使用Python和数据库技术开发一个智能家居控制系统,可以实现对家居设备的远程控制、定时开关等功能,并且能够实时更新设备的状态和用电情况。
8. 人事管理系统描述:开发一个人事管理系统,使用Python和数据库技术,可以实现员工信息的录入、查询、调动等功能,并且能够对员工的绩效和考勤情况进行统计和分析。
9. 医院挂号系统描述:使用Python和数据库技术开发一个医院挂号系统,可以实现患者挂号、查询医生信息、预约就诊等功能,并且能够实时更新医生的排班和就诊情况。
10. 餐厅点餐系统描述:开发一个餐厅点餐系统,使用Python和数据库技术,可以实现顾客点餐、支付、评价等功能,并且能够实时更新菜品的库存和销售情况。
sql数据库c 应用实例在C语言中与SQL数据库进行交互通常涉及使用某种数据库连接库。
一个常见的库是SQLite,它是一个轻量级的数据库,非常适合嵌入式系统和桌面应用程序。
以下是一个简单的C语言应用程序示例,该程序使用SQLite库来创建一个数据库,插入一些数据,并从中检索数据。
首先,确保你已经安装了SQLite库。
在Linux上,你可以使用包管理器来安装它。
例如,在基于Debian的系统上,你可以运行:shsudo apt-get install libsqlite3-dev接下来,创建一个C文件,例如main.c,并输入以下代码:c#include <stdio.h>#include <sqlite3.h>static int callback(void *data, int argc, char **argv, char **azColName) {int i;for (i = 0; i < argc; i++) {printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");}printf("\n");return 0;}int main(int argc, char *argv[]) {sqlite3 *db;char *zErrMsg = 0;int rc;rc = sqlite3_open(":memory:", &db);if (rc) {fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));return(0);} else {fprintf(stderr, "Opened database successfully\n");}/* 创建表格*/char *sql = "CREATE TABLE Company(""ID INT PRIMARY KEY NOT NULL,""NAME TEXT NOT NULL, ""AGE INT NOT NULL, ""ADDRESS CHAR(50), ""SALARY REAL)";rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);if (rc != SQLITE_OK) {fprintf(stderr, "SQL error: %s\n", zErrMsg);sqlite3_free(zErrMsg);} else {fprintf(stdout, "Table created successfully\n");}/* 插入数据*/sql = "INSERT INTO Company (ID,NAME,AGE,ADDRESS,SALARY) ""VALUES (1, 'Paul', 32, 'California', 20000.00 );";rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);if (rc != SQLITE_OK) {fprintf(stderr, "SQL error: %s\n", zErrMsg);sqlite3_free(zErrMsg);} else {fprintf(stdout, "Record inserted successfully\n"); }/* 查询数据*/sql = "SELECT * from Company";rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);if (rc != SQLITE_OK) {fprintf(stderr, "SQL error: %s\n", zErrMsg);sqlite3_free(zErrMsg);} else {fprintf(stdout, "Operation done successfully\n"); }sqlite3_close(db);return 0;}这个程序做了以下几件事:它打开了一个在内存中的SQLite数据库(这意味着数据库只在程序运行时存在,程序关闭后数据库将被删除)。
mysql代码例子MySQL是一种常用的关系型数据库管理系统,它使用SQL语言进行数据库操作。
下面是一些MySQL代码示例,展示了各种常用的数据库操作。
1. 创建数据库:```CREATE DATABASE mydb;```这个代码创建了一个名为mydb的数据库。
2. 创建表:```CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50),age INT,salary DECIMAL(10,2));```这个代码创建了一个名为employees的表,包含id、name、age 和salary四个列。
3. 插入数据:```INSERT INTO employees (id, name, age, salary) VALUES (1, 'John Doe', 30, 5000.00);```这个代码向employees表中插入了一条数据。
4. 更新数据:```UPDATE employeesSET salary = 6000.00WHERE id = 1;```这个代码将id为1的员工的薪水更新为6000.00。
5. 删除数据:```DELETE FROM employeesWHERE id = 1;```这个代码删除了id为1的员工信息。
6. 查询数据:```SELECT * FROM employees;```这个代码查询了employees表中的所有数据。
7. 条件查询:```SELECT * FROM employeesWHERE age > 25;```这个代码查询了年龄大于25岁的员工信息。
8. 排序查询:```SELECT * FROM employeesORDER BY salary DESC;```这个代码按照薪水降序排列查询员工信息。
9. 聚合函数:```SELECT COUNT(*) FROM employees;```这个代码查询了employees表中的总记录数。
创建数据库的代码编写方式取决于您使用的数据库管理系统(DBMS)的类型。
以下是一些常见的DBMS的创建数据库的代码示例:使用MySQL创建数据库:CREATE DATABASE mydatabase;上述代码将在MySQL中创建一个名为"mydatabase" 的数据库。
使用SQLite创建数据库(在SQLite中,数据库是一个文件):CREATE DATABASE mydatabase;上述代码将在当前目录下创建一个名为"mydatabase" 的SQLite数据库文件。
使用PostgreSQL创建数据库:CREATE DATABASE mydatabase;上述代码将在PostgreSQL中创建一个名为"mydatabase" 的数据库。
使用Microsoft SQL Server创建数据库:CREATE DATABASE mydatabase;上述代码将在SQL Server中创建一个名为"mydatabase" 的数据库。
使用Oracle数据库创建数据库:CREATE DATABASE mydatabase;上述代码将在Oracle数据库中创建一个名为"mydatabase" 的数据库。
请注意,以上示例中的代码只是创建数据库的基本示例。
根据您的需求,您还可以指定数据库的字符集、排序规则、权限等其他选项。
此外,您需要具有相应的数据库管理权限来执行创建数据库的操作。
最好根据您使用的特定数据库管理系统的文档来了解详细的创建数据库语法和选项。
此外,您还可以使用数据库管理工具(如phpMyAdmin、pgAdmin、SQL Server Management Studio 等)来可视化创建数据库。
当涉及到C++编程与MySQL应用结合的实例,一个常见的场景是使用C++编写程序来连接MySQL数据库,并执行查询和更新操作。
以下是一个简单的C++编程示例,演示了如何连接到MySQL数据库并执行一些基本的查询操作:```cpp#include <mysql/mysql.h>#include <iostream>int main(){// 初始化 MySQL 连接对象MYSQL* conn = mysql_init(NULL);// 连接到 MySQL 数据库if (mysql_real_connect(conn, "", "username", "password", "database", 0, NULL, 0) == NULL){std::cout << "连接数据库失败:" << mysql_error(conn) << std::endl;return 1;}// 执行查询语句if (mysql_query(conn, "SELECT * FROM table_name")){std::cout << "查询失败:" << mysql_error(conn) << std::endl;return 1;}// 获取查询结果MYSQL_RES* result = mysql_store_result(conn);// 遍历查询结果MYSQL_ROW row;while ((row = mysql_fetch_row(result)) != NULL){// 输出每行数据for (int i = 0; i < mysql_num_fields(result); ++i){std::cout << row[i] << "\t";}std::cout << std::endl;}// 释放查询结果内存mysql_free_result(result);// 断开与 MySQL 数据库的连接mysql_close(conn);return 0;}```请注意,上述示例中的""应替换为实际的MySQL服务器主机名,"username"和"password"应替换为连接数据库所需的用户名和密码,"database"应替换为要连接的数据库名称,"table_name"应替换为要查询的表名。
数据库应用系统开发数据库系统开发案例—图书现场采购系统系统主窗体的实现1.数据表结构的实现经过前面的需求分析和概念结构设计以后,得到了数据库的逻辑结构。
现在就可以在SQL Server 2000数据库系统中实现该逻辑结构。
可以直接在SQL Server 2000企业管理器中创建表,也可以在SQL查询分析器中创建。
下面给出在查询分析器中创建这些表的SQL语句,读者可以将这些表创建在系统的pubs数据库中。
(1)创建书商图书基本信息表bookseller_bookinfoCREATE TABLE bookseller_bookinfo(rec_id Bigint identity(1,1) PRIMARY KEY,isbn varchar(20) null,bookname varchar(200) null,author varchar(50) null,publisher_date varchar(50) null,publisher varchar(50) null,class_name varchar(50) null,book_price numeric DEFAULT 0,book_num int DEFAULT 0,provider varchar(50) null)(2)创建图书馆图书馆藏基本信息表library_bookinfoCREATE TABLE library_bookinfo (rec_id Bigint identity(1,1) PRIMARY KEY,isbn varchar(20) null,bookname varchar(200) null,author varchar(50) null,publisher_date varchar(50) null,publisher varchar(50) null,class_name varchar(50) null,book_price numeric DEFAULT 0,book_num int DEFAULT 0,provider varchar(50) null)(3)创建用户注册表user_infoCREATE TABLE user_info (user_ID varchar(10) PRIMARY KEY ,user_PWD varchar(10) null)2.系统主窗体的创建上面的SQL语句在SQL Server 2000中查询分析器执行后,将自动产生需要的所有表。
python 数据库实例Python是一种非常强大的编程语言,它可以与各种数据库系统进行交互。
下面是一个使用Python连接MySQL数据库的示例:首先,您需要安装Python的MySQL驱动程序。
您可以使用以下命令在终端中安装:```shellpip install mysql-connector-python```接下来,您可以使用以下代码连接到MySQL数据库:```pythonimport mysql.connector# 连接到MySQL数据库mydb = mysql.connector.connect(host="localhost",user="yourusername",password="yourpassword",database="yourdatabase")# 创建一个游标对象mycursor = mydb.cursor()# 执行SQL查询语句mycursor.execute("SELECT * FROM yourtable")# 获取查询结果并打印输出result = mycursor.fetchall()for x in result:print(x)```在上面的代码中,我们首先使用`mysql.connector`模块连接到MySQL 数据库。
然后,我们创建一个游标对象,使用游标对象执行SQL查询语句。
最后,我们使用`fetchall()`方法获取查询结果,并使用循环将结果打印输出。
当然,这只是一个简单的示例。
在实际应用中,您需要根据具体的需求编写更加复杂的代码来处理数据库操作。
python数据库经典案例
在Python中,数据库操作是非常常见的,尤其是对于需要存储和检索大量数据的应用程序。
以下是一些Python数据库操作的经典案例:
1. 学生信息管理系统:这个系统可以存储和管理学生信息,包括姓名、年龄、性别、成绩等。
你可以使用Python的内置sqlite3模块来创建一个SQLite 数据库,并使用SQL语句来插入、查询和更新数据。
2. 电商网站:一个电商网站需要存储商品信息、用户信息、订单信息等。
你可以使用Python的Django框架来创建一个完整的电商网站,Django自
带ORM(对象关系映射)功能,可以方便地操作数据库。
3. 博客系统:一个博客系统需要存储文章、评论等信息。
同样可以使用Django框架来创建一个博客系统,通过ORM来操作数据库。
4. 新闻聚合网站:类似于RSS阅读器,这种网站需要从多个来源收集和显
示新闻。
这可能需要更复杂的数据库操作,例如全文搜索和实时更新。
可以使用Python的Elasticsearch库来实现这些功能。
5. 社交网络:一个社交网络需要存储用户信息、关系信息、动态等信息。
可以使用Django框架和PostgreSQL数据库来实现。
以上案例都需要对数据库进行CRUD(创建、读取、更新、删除)操作,包括查询、插入、更新和删除数据,以及执行更复杂的SQL语句,如联接、
子查询和聚合函数等。
在Python中,可以使用多种方式来操作数据库,包括使用ORM、SQLAlchemy等库,以及直接使用原生SQL语句等。
create database hotelmanager /*创建数据库hotelmanager*/ gouse hotelmanagergocreate table cusinfo /*创建数据表cusinfo*/ (dingname varchar(10) not null,cname varchar(10),cid char(18),vip char(2))gocreate table ordform /*创建数据表ordform*/(ono varchar(36) not null,cname varchar(10) not null,csex char(2),cid char(18),rid char(6) not null,rstyle varchar(10),arrivetime datetime,cno char(10) not null,dingname varchar(10),livetime char(10),dingph char(15) not null,ozt char(4))gocreate table roominfo /*创建数据表roominfo*/(rid char(6) not null,rstyle varchar(10),kfzt char(2) not null)gocreate table liveorder /*创建数据表liveorder*/(lno varchar(36) not null,rid char(6) not null,rstyle varchar(10),btime datetime not null,cno char(10),cname varchar(10) not null,etime datetime,ono varchar(36),lzt char(4) )gocreate table bill /*创建数据表bill*/(bno varchar(36) not null,rid char(6) not null,cname varchar(10),cust money,btime datetime,etime datetime,remarks varchar(40))gocreate table roomsp /*创建数据表roomsp*/(rstyle varchar(10) not null,rprice money)gocreate table hordform /*创建数据表hordform*/(ono varchar(36) not null,cname varchar(10) not null,csex char(2),cid char(18),rid char(6) not null,rstyle varchar(10),arrivetime datetime,cno char(10) not null,dingname varchar(10),livetime char(10),dingph char(15) not null,ozt char(4))gocreate table hliveorder /*创建数据表hliveorder*/(lno varchar(36) not null,rid char(6) not null,rstyle varchar(10),btime datetime not null,cno char(10),cname varchar(10) not null,etime datetime,ono varchar(36),lzt char(4) )goinsert into cusinfo values('mao','zcl','330227************','n') insert into cusinfo values('qxb','zyy','330227************','n') goinsert into roominfo values('2010','s','n')insert into roominfo values('2201','s','n')insert into roominfo values('2301','s','n')insert into roominfo values('3010','s','y')insert into roominfo values('3012','s','n')insert into roominfo values('3015','s','n')insert into roominfo values('4210','d','n')insert into roominfo values('4110','d','n')insert into roominfo values('4010','d','n')insert into roominfo values('5220','d','n')insert into roominfo values('5210','d','n')insert into roominfo values('5201','d','n')goinsert into roomsp values('s',200)insert into roomsp values('d',300)goinsert into ordform values('o0201001','zcl','f','330227************','2301','s','2010-01-02','1','mao','1','883060089','n')goinsert into liveorder values('l2010001','2301','s','2010-01-02','1','zcl','2010-01-03','o0201001','n') insert into liveorder values('l2010002','3010','s','2010-01-03','1','qxb','2010-01-04','o0201002','y') insert into liveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt)values('l2010003','5220','d','2010-01-09','1','myy','o0201003','y')insert into liveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt)values('l2010004','5201','d','2010-01-02','2','zxx',null,'y')goinsert into bill(bno,rid,cname,cust,btime) values('b2010003','5220','myy',0,'2010-01-10')insert into bill(bno,rid,cname,cust,btime) values('b2010004','5201','zxx',0,'2010-01-02')goalter table cusinfo add primary key(dingname)alter table ordform add primary key(ono)alter table roominfo add primary key(rid)alter table liveorder add primary key(lno)alter table bill add primary key(bno)alter table roomsp add primary key(rstyle)gocreate proc ordformproc @lno varchar(36) /*保存入住单*/asbegin tranupdate roominfo set kfzt='y' from roominfo,liveorder where liveorder.rid=roominfo.rid and liveorder.lno=@lno /*修改客房信息*/update ordform set ozt='y' from ordform,liveorder where liveorder.ono=ordform.ono and liveorder.lno=@lno /*修改预订单信息*/insert into hordform select * from ordform where ozt='y' /*将已入住的预订单放入历史*/ delete from ordform where ozt='y' /*清除已入住预订单*/commitgoselect * from roominfoselect * from ordformgoexec ordformproc 'l2010001'exec ordformproc 'l2010004'select * from roominfoselect * from ordformgocreate proc liveorderproc @lno varchar(36) /*收银退房*/asbegin tranupdate liveorder set etime=getdate(),lzt='n' where lno=@lnoupdate roominfo set kfzt='n' from roominfo,liveorder where roominfo.rid=liveorder.rid and liveorder.lno=@lno /*修改客房状态*/insert into hliveorder select * from liveorder where lno=@lno /*导入历史*/delete from liveorder where lno=@lno /*清除入住单*/commitgoselect * from liveorderselect * from hliveordergoexec liveorderproc 'l2010004'goselect * from liveorderselect * from hliveorderselect *from roominfo where rid='5201'gocreate proc billproc @lno varchar(36) /*计算应收款*/asbegin trandeclare @total moneydeclare @datecount intupdate liveorder set etime=getdate() where lno=@lno /*设置离店时间*/select @datecount=datediff(dd,btime,getdate()) from liveorder where lno=@lno /*计算住店天数*/ select @total=0select @total=@datecount*(isnull(rprice,0)) from liveorder,bill,roomspwhere bill.rid=liveorder.rid and liveorder.rstyle=roomsp.rstyle and lno=@lno /*计算住店金额*/ update bill set etime=getdate(),cust=@total from bill,liveorder where bill.rid=liveorder.rid and lno=@lno /*修改账单*/commitgoselect * from liveorderselect * from billgoexec billproc 'l2010004'goselect * from liveorderselect * from bill。
数据库应用系统开发数据库系统开发案例—图书现场采购系统系统主窗体的实现1.数据表结构的实现经过前面的需求分析和概念结构设计以后,得到了数据库的逻辑结构。
现在就可以在SQL Server 2000数据库系统中实现该逻辑结构。
可以直接在SQL Server 2000企业管理器中创建表,也可以在SQL查询分析器中创建。
下面给出在查询分析器中创建这些表的SQL语句,读者可以将这些表创建在系统的pubs数据库中。
(1)创建书商图书基本信息表bookseller_bookinfoCREATE TABLE bookseller_bookinfo(rec_id Bigint identity(1,1) PRIMARY KEY,isbn varchar(20) null,bookname varchar(200) null,author varchar(50) null,publisher_date varchar(50) null,publisher varchar(50) null,class_name varchar(50) null,book_price numeric DEFAULT 0,book_num int DEFAULT 0,provider varchar(50) null)(2)创建图书馆图书馆藏基本信息表library_bookinfoCREATE TABLE library_bookinfo (rec_id Bigint identity(1,1) PRIMARY KEY,isbn varchar(20) null,bookname varchar(200) null,author varchar(50) null,publisher_date varchar(50) null,publisher varchar(50) null,class_name varchar(50) null,book_price numeric DEFAULT 0,book_num int DEFAULT 0,provider varchar(50) null)(3)创建用户注册表user_infoCREATE TABLE user_info (user_ID varchar(10) PRIMARY KEY ,user_PWD varchar(10) null)2.系统主窗体的创建上面的SQL语句在SQL Server 2000中查询分析器执行后,将自动产生需要的所有表。
有关数据结构的所有后端工作已经完成。
现在将通过图书现场采购系统中功能模块的实现,介绍如何使用Visual Basic来编写数据库系统的客户端程序。
(1)创建工程项目BOOKCG_MIS启动VB,在VB工程模板中选择“标准EXE”,VB将自动产生一个Form窗体,这里删除这个窗体。
单击“文件→保存工程”菜单项,保存工程,将这个工程命名为BookCG_MIS.vbp。
(2)创建图书现场采购管理系统主窗体(frmmin.frm)Visual Basic创建的应用程序可以是SDI(单文档界面)和MDI(多文档界面)。
这里采用MDI多文档界面,可以使程序更为美观、整齐有序。
单击工具栏中的“添加MDI窗体”按钮,添加一个多文档界面,后单击工具栏中的“菜单编辑器”创建主窗体的菜单,生成一个如图14-15所示的主窗体,主窗体的Caption属性设为“图书现场采购管理系统”,Name(名称)属性为“frmmain”。
主窗体保存文件名为frmmain.frm。
菜单结构参考图14-12。
图14-15 系统主窗体(3)创建公用模块(Module1.bas)在Visual Basic中可以用公用模块来存放整个工程项目公用的函数、全局变量等。
便于各窗体模块调用公用模块中的函数、变量,以提高代码的效率。
在项目资源管理器中为项目添加一个Module,保存为Module1.bas,此工程项目的公用模块程序中的过程和函数据如下:①SQL Server 2000服务器连接字符串函数Public Function ConnectString() As String'ConnectString = "Provider=SQLOLEDB.1;Password=sa;User ID=;Initial Catalog=pubs; Data Source =127.0.0.1"ConnectString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=wzh"'设置SQL Server2000数据库链接字符串,此字符串可保存在目录文件中End Function②SQL命令执行函数Public Function ExecuteSQL(ByV al SQL As String, MsgString As String) As ADODB.RecordsetDim cnn As ADODB.ConnectionDim rst As ADODB.RecordsetDim sTokens() As StringOn Error GoTo ExecuteSQL_ErrorsTokens = Split(SQL)Set cnn = New ADODB.Connectioncnn.Open ConnectStringIf InStr("INSERT,DELETE,UPDA TE,EXECUTE", UCase$(sTokens(0))) Then cnn.Execute (SQL)MsgString = sTokens(0) & " query successful"ElseSet rst = New ADODB.Recordsetrst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimisticSet ExecuteSQL = rstMsgString = "查询到" & rst.RecordCount & " 条记录"End IfExecuteSQL_Exit:Set rst = NothingSet cnn = NothingExit FunctionExecuteSQL_Error:MsgString = "查询错误: " & Err.DescriptionResume ExecuteSQL_ExitEnd Function这两个函数在后面的实例中将频繁用到,ConnectString函数为连接SQL Server 2000数据库的参数调用函数,为简便起见写在程序中,实际应用中可以把连接数据库的参数保存在配置文件中,通过程序来调用。
ExecuteSQL函数执行SQL语句,如删除、更新、添加和查询,只有执行查询语句时才返回记录集对象。
③启动函数SubMainSub main()register.ShowEnd Sub系统启动时,首先执行用户登录窗体。
用户管理模块的实现用户管理模块主要实现对软件的加密,防止盗版,使得软件只能在注册的机器上运行,主要实现生成机器码、用户注册和用户登录验证的功能。
所有这些功能在系统的用户登录界面中实现。
1.用户登录窗体的创建图14-16 登录窗体用户登录窗体中放置两个文本框(TextBox),用来输入用户名和密码;2个按钮(CommandButton)用来登录和退出系统;1个标签(Label)用来显示窗体的。
这些控件的属性设置见表14-12。
表14-12 登录窗体中各个控件的属性设置Private Sub cmdok_Click() '验证成功时进入系统Dim txtsql As String '用来存放SQL语句Dim mrc As ADODB.Recordset '用来存放返回记录集对象Dim msgtext As String '用来存放返回信息If username.Text = "" ThenMsgBox "请输入用户名!"username.SetFocusElsetxtsql = "select * from user_info where user_ID= '" & username.Text & "'"Set mrc = ExecuteSQL(txtsql, msgtext) '在用户表中查找用户If mrc.EOF Then '没找到用户,回到用户名输入框MsgBox "没有这个用户!"username.SetFocusElse '找到用户,比较密码是否正确If Trim(mrc.Fields("user_PWD")) = Trim(userpassword.Text) ThenUsername_OK = Trim(userpassword.Text) '记录用户名Unload Me '密码正确,进行系统frmmain.ShowElse '密码不对,重新输入MsgBox "输入密码不对!,请重新输入"userpassword.SetFocusEnd IfEnd IfEnd IfEnd SubPrivate Sub cmdcancel_Click() '退出系统EndEnd Sub采购数据管理模块的实现采购数据管理模块主要实现如下功能:添加采购信息、修改采购信息、和查询采购信息。
1.添加采购信息窗体的创建选择“采购数据处理→采购数据添加”菜单,将出现如图14-19所示的窗体。
图14-19 添加采购数据窗体在窗体中放置了多个文本框,用来输入图书及采购信息;两个命令按钮用来确定添加采购信息和退出;加入多个标签用来提示文本框内容。
这些控件的属性设置如表14-13所示。
表14-13 添加采购信息窗体中各控件的属性设置用户输入完采购图书的基本信息后,单击“添加”按钮将触发cmdxjadd_Click事件,代码如下:Private Sub cmdxjadd_Click()Dim mrc As ADODB.Recordset '定义数据集对象Dim txtsql As String '定义查询字符串变量Dim msgtext As String '定义字符串变量,用来返回查询信息'判断是否输入了ISBN号If Trim(Text1.Text) = "" ThenMsgBox "请输入ISBN号", vbOKOnly, "警告"Text1.SetFocusExit SubEnd If'判断是否输入了书名If Text2.Text = "" ThenMsgBox "请输入书名", vbOKOnly, "警告"Text2.SetFocusExit SubEnd If'判断是否输入了出版社If Text4.Text = "" ThenMsgBox "请输入出版社", vbOKOnly, "警告"Text4.SetFocusExit SubEnd If'判断是否输入了价格If Text6.Text = "" ThenMsgBox "请输入订价", vbOKOnly, "警告"Text6.SetFocusExit SubEnd If'判断输入的价格是不是数值If Not IsNumeric(Text6.Text) ThenMsgBox "价格输入不为数字!"Text6.SetFocusExit SubEnd If'判断是否输入了订购数If Text8.Text = "" ThenMsgBox "请输入订购数量", vbOKOnly, "警告"Text8.SetFocusExit SubEnd If'判断输入的订购数是不是数值If Not IsNumeric(Text8.Text) ThenMsgBox "订购数输入不为数字!"Text8.SetFocusExit SubEnd If'添加数据到SQL Server 2000数据库中txtsql = "select * from bookseller_bookinfo"Set mrc = ExecuteSQL(txtsql, msgtext)'添加一条记录进入数据库中mrc.AddNewmrc.Fields("isbn") = Trim(Text1.Text)mrc.Fields("bookname") = Trim(Text2.Text)mrc.Fields("class_name") = Trim(Text3.Text)mrc.Fields("publisher") = Trim(Text4.Text)mrc.Fields("author") = Trim(Text5.Text)mrc.Fields("book_price") = Trim(Text6.Text)mrc.Fields("publisher_date") = V al(Trim(Text7.Text))mrc.Fields("book_num") = V al(Trim(Text8.Text))mrc.Fields("provider") = Trim(Text9.Text)mrc.UpdateMsgBox "添加数据成功", vbOKOnly, "提示"mrc.CloseEnd Sub程序对是否输入了内容进行判断,同时进行了数值数据判断,使用了IsNumeric()函数,判断了价格和订购数量是不是数值。