图书馆管理系统数据库应用技术设计书1.课程设计的主要目的是:在现今信息发达的社会,图书的发行量与日俱增。
传统的图书馆已经无法达到所要求的功能,因此需要对书籍资源、读者资源、借阅信息进行管理,及时了解各个环节息的变更,有利于管理效率的提高。
2.该系统使用的环境:硬件:计算机一台。
软件:Windows XP、SQL Server 2000、Microsoft Visual Studio 2008二、系统需求分析图1 系统功能分解图2 第0层数据流图图3 第一层数据流图图3 图书信息数据流图4 学生数据流数据字典1、主要数据项的定义(1)图书(2)学生(3)学生借书三、数据库逻辑结构设计通过E-R模型到关系模型的转化,可以得到如下关系模式:图书(书号,书名,作者,类别,定价,总册数,剩余册数)学生(学号,,性别,班级)借阅图书(书号,学号,借书日期,还书日期)。
四、数据库概念结构设计1、数据库需要表达的信息有以下几种:(1)图书信息(2)学生信息(3)管理员信息(4)学生归还图书信息通过分析整理可得图书管理系统E-R图为:系统E-R 图数据库实施数据库及表结构的创建设本系统使用的数据库名为图书管理系统,根据已设计的关系模式和和各模式的完整性要求,现在就可以在数据库系统中是这些逻辑结构。
下面是创建基本表的SQL 语句: 下面是使用SQL2000建立的图书管理系统系统各基本表的属性如下:学生班级性别姓名学号借阅图书还书日期借书日期总册数定价剩余册数作者类别书名书号图书信息:学生信息:借阅图书信息:五、系统详细设计本系统分成6个窗口,在程序设计时需要6个Forms,程序代码如下:一、实现用户登录using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace图书馆管理系统{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){if (textBox2.Text == "2010" && textBox1.Text == "123"){(new Form2()).Show();}elseMessageBox.Show("用户名或密码错误,请重新输入!");}private void button2_Click(object sender, EventArgs e){this.Close();}二、完成对图书信息的查询,添加和更新等管理private void button3_Click(object sender, EventArgs e){SqlConnection thisConnection=new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=图书馆管理系统");/*创建并返回一个与thisConnection相关联的SqlCommand 对象实例thisCommand,同时获取或设置要对数据源执行的SQL语句*/SqlCommand thisCommand = new SqlCommand("select * from 图书 where "+ comboBox1.Text + "='" + textBox11.Text + "'", thisConnection);//创建一个SqlDataAdapter 对象实例thisAdapterSqlDataAdapter thisAdapter=new SqlDataAdapter();//获取一个SQL语句,用于在数据源中选择记录thisAdapter.SelectCommand=thisCommand;DataSet thisDataSet=new DataSet();//生成数据集实例thisDataSetthisConnection.Open();//打开本次设置的数据库连接//将以上在数据源中选择的记录的所有行填充到数据集中,仍然命名为表student。
thisAdapter.Fill(thisDataSet, "图书");/*在运行时设置 dataGrid1的数据源和数据成员属性,即在dataGrid1中显示数据集中的数据*/ dataGridView1.DataSource=thisDataSet.Tables[0];thisConnection.Close();//断开本次数据库连接}private void button1_Click(object sender, EventArgs e){SqlConnection thisConnection = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=图书馆管理系统");/*创建并返回一个与thisConnection相关联的SqlCommand 对象实例thisCommand,同时获取或设置要对数据源执行的SQL语句*/SqlCommand thisCommand = new SqlCommand("insert into 图书(书号,书名,作者,定价,类别,总册数,剩余册数) values ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "','" + textBox7.Text + "')", thisConnection);//创建一个SqlDataAdapter 对象实例thisAdapterSqlDataAdapter thisAdapter = new SqlDataAdapter();//获取一个SQL语句,用于在数据源中选择记录thisAdapter.SelectCommand = thisCommand;DataSet thisDataSet = new DataSet();//生成数据集实例thisDataSetthisConnection.Open();//打开本次设置的数据库连接//将以上在数据源中选择的记录的所有行填充到数据集中,仍然命名为表student。
thisAdapter.Fill(thisDataSet, "图书");/*在运行时设置 dataGrid1的数据源和数据成员属性,即在dataGrid1中显示数据集中的数据*/thisConnection.Close();//断开本次数据库连接}private void button2_Click(object sender, EventArgs e){SqlConnection thisConnection = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=图书馆管理系统");/*创建并返回一个与thisConnection相关联的SqlCommand 对象实例thisCommand,同时获取或设置要对数据源执行的SQL语句*/SqlCommand thisCommand = new SqlCommand("delete from 图书 where " + comboBox3.Text + "='" + textBox8.Text + "'", thisConnection);//创建一个SqlDataAdapter 对象实例thisAdapterSqlDataAdapter thisAdapter = new SqlDataAdapter();//获取一个SQL语句,用于在数据源中选择记录thisAdapter.SelectCommand = thisCommand;DataSet thisDataSet = new DataSet();//生成数据集实例thisDataSetthisConnection.Open();//打开本次设置的数据库连接//将以上在数据源中选择的记录的所有行填充到数据集中,仍然命名为表student。
thisAdapter.Fill(thisDataSet, "图书");/*在运行时设置 dataGrid1的数据源和数据成员属性,即在dataGrid1中显示数据集中的数据*/thisConnection.Close();//断开本次数据库连接}private void comboBox2_SelectedIndexChanged(object sender, EventArgs e){}private void comboBox2_SelectedIndexChanged_1(object sender, EventArgs e){}private void button4_Click(object sender, EventArgs e){SqlConnection thisConnection = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=图书馆管理系统");/*创建并返回一个与thisConnection相关联的SqlCommand 对象实例thisCommand,同时获取或设置要对数据源执行的SQL语句*/SqlCommand thisCommand = new SqlCommand("update 图书 SET " + comboBox2.Text + "='" + textBox9.Text + "' where 书号='" + textBox10.Text + "'", thisConnection);//创建一个SqlDataAdapter 对象实例thisAdapterSqlDataAdapter thisAdapter = new SqlDataAdapter();//获取一个SQL语句,用于在数据源中选择记录thisAdapter.SelectCommand = thisCommand;DataSet thisDataSet = new DataSet();//生成数据集实例thisDataSetthisConnection.Open();//打开本次设置的数据库连接//将以上在数据源中选择的记录的所有行填充到数据集中,仍然命名为表student。