表2-3借阅信息
列 名
数据类型
长 度
主 键
书号
char
10
Yes
证号
int
4
Yes
借阅日期
datetime
8
应归还日期
datetime
8
实际归还日期
datetime
8
续借
bit
1
表2-4书籍信息
列 名
数据类型
长 度
主 键
书号
char
10
Yes
丛书系列
nchar
50
作者
nchar
50
责任编辑
nchar
50
字数
int
4
定价
money
8
出版时间
datetime
8
主题分类
nchar
50
二级分类
char
50
馆内借阅分类
int
4
总册数
int
4
库存量
int
4
出版社
varchar
50
书名
varchar
50
表2-5管理者信息
列 名
数据类型
长 度
主 键
用户名称
char
20
Yes
密码
char
20
权限
int
4
2.2.3连接数据库
为数据库Library和本系统之间建立一个数据连接。
(1)在服务器资源管理器中右击“数据连接”节点。在弹出的快捷菜单中执行“添加连接”命令,打开Data Link Properties对话框。切换到Provider选项卡,选中列表框中的Microsoft OLE DB Provider for SQL Server项。单击“下一步”切换到Connection选项卡。
(2)在其中的第一个下拉列表框中选择数据库所在服务器名称。输入登录服务器信息后选择数据库Library,然后单击Test Connection按钮。如果测试成功,单击“确定”按钮。
2.3主窗体设计创建一个新的“Windows应用程序”类型的项目,名为“图书馆管理”。将默认创建的窗体命名为“主窗体”,把“主窗体”作为本系统中的主界面。
在窗体中添加两个Pannel控件,7个Button控件和7个Linklabel控件。
2.3.1设计登录界面
设计登录界面,创建一个新的”Windows窗体”,名为登录,作为本系统的登录界面.在登录窗体上添加两个Label控件,两个Button控件和两个TextBox控件,添加控件后的窗体如图所示。
2.3.2添加数据组件
在工具箱中单击“数据”选项卡,添加OleDbDataAdapter组件。
(1)在工具箱中单击OleDbDataAdapter组件,在窗体任意位置拖动出一个虚框矩形后释放左键弹出“数据适配器配置向导”对话框。
(2) 单击“下一步”,在打开的对话框中选择前面建好的数据连接,然后单击“下一步”。
(3)选中“使用SQL语句”,然后单击“下一步”进入“生成SQL语句”对话框。
(4)在其中的多行文本框直接输入SQL语句“SELECT 管理者信息.* FROM 管理者信息”。
(5)单击“下一步”按钮,进入“查看向导结果”,单击“完成”按钮完成数据适配器配置。
配置数据适配器后,在主窗体上就会自动添加一个OleDbConnection控件。
2.3.3生成数据集
生成数据集的步骤如下:
(1)单击OleDbDataAdapter控件“属性”对话框中的“生成数据集”链接,打开“生成数据集”对话框。
(2)在其中选中“新建”单选按钮,并在其后面的文本框中输入“Lib管理者信息”。
(3)在“选择要添加到数据集中的表”列表框中列出了前面添加的OleDbDataAdapter组件所连接的表,选中该表名前面的复选框。
(4)选中“将此数据集添加到设计器”复选框,单击“确定”按钮
这样,将生成一个名称为“Lib管理者信息”的数据集,该数据集以文件形式存储,文件名为“Lib管理者信息.xsd”。而在项目中,添加了一个DataSet组件,名为“objLib管理者信息”。
在解决方案资源管理器中右击该项目,在弹出快捷菜单中单击“属性”菜单项。在打开的“属性页”对话框中的“启动对象”下拉列表框中选择“主窗体”选项。单击“确定”按钮,这样该项目启动时,就会从主窗体开始启动。
2.3.4设计代码
在程序运行过程中,如果想通过单击LinkLabel控件或Button控件进入系统中的各个功能模块(如显示读者信息等),就会弹出一个对话框要求输入用户名和密码.单击"确认"按钮,程序就会到数据库的"管理者信息"表中查找该用户名和密码是否存在.如果存在,允许进入功能模块.
完成登录功能的主要代码集中在UserCheck函数中.在程序运行过程中,在登录窗体的"用户姓名"和"用户密码"文本框中输入用户名和密码后,单击"确认"按钮就会触发UserCheck函数并执行其中的代码.如果UserCheck函数返回True,那么允许用户的操作;否则拒绝用户的操作请求.
在UserCheck函数中首先定义Login类型的变量dlg_Login,然后通过ShowDialog方法来显示登录窗体.如果用户在登录窗体中输入用户姓名和密码,并且单击了"确认"按钮,那么自动调用一个自定义函数LoadDataSet(),由此函数进行数据加载.如果出错,显示错误信息,回滚整个事务.