1、 目录1、绪论22、数据库设计32.1 数据库分析32.1创建数据库43、界面设计43.1 登陆界面43.2 图书管理系统界面83.3 图书信息界面93.4 图书归还界面113.5 图书借阅界面133.6 用户信息界面153.7管理员界面163.8注册界面183.9添加图书界面194、系统测试214.1 登陆功效214.2 借阅图书功效224.3 归还图书库功效224.4 图书信息功效234.5 管理员登陆功效234.6 添加图书功效 244.7 用户信息245 、连接数据库245.1连接数据库255.2操作数据库中数据256 、总结271、绪论2、数据库设计2.1 数据库分析本系统利用Vis
2、ual Studio 处理数据库功效,实现对图书馆信息管理。关键功效为管理相关用户、管理员、书籍和借阅信息等。本系统结构分为用户信息管理模块、书籍信息管理模块、借阅信息管理模块、管理者管理信息模块和查询处理模块。图书馆管理系统框图图所表示 进入图书馆管理系统借阅图书查询图书增加图书查询图书图书管理登录 用户 管理员失败成功 2.2创建数据库3、界面设计3.1登陆界面amespace 图书管理系统 public partial class Form1 : Form public Form1() InitializeComponent(); public static Form fm = null
3、; private static int ErrorTimes = 0; private void button3_Click(object sender, EventArgs e) this.Close(); private void textBox1_TextChanged(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) if (textBox1.Text = | textBox2.Text = ) MessageBox.Show(提醒:请输入用户名和密码!, 警告); S
4、qlConnection conn = new SqlConnection(Server=PC_02131602;Integrated Security=true;DataBase=图书管理系统); conn.Open(); SqlCommand cmd = new SqlCommand(select * from Table_1 where id= + textBox1.Text.Trim() + and us= + textBox2.Text.Trim() + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); if
5、(sdr.HasRows) MessageBox.Show(登录成功!, 提醒); Form2 fm = new Form2(); fm.Show(); this.Hide(); else ErrorTimes+; MessageBox.Show(用户名或密码不正确!您还有 + (3 - ErrorTimes) + 次输入密码机会,请重新输入!假如超出3次,系统将自动关闭); if (ErrorTimes = 3) ErrorTimes = 0; conn.Close(); private void Form1_Load(object sender, EventArgs e) private
6、void button4_Click(object sender, EventArgs e) if (textBox1.Text = | textBox2.Text = ) MessageBox.Show(提醒:请输入用户名和密码!, 警告); SqlConnection conn = new SqlConnection(Server=PC_02131602;Integrated Security=true;DataBase=图书管理系统); conn.Open(); SqlCommand cmd = new SqlCommand(select * from Table_2 where uid
7、= + textBox1.Text.Trim() + and usr= + textBox2.Text.Trim() + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); if (sdr.HasRows) MessageBox.Show(登录成功!, 提醒); Form7 fm = new Form7(); fm.Show(); this.Hide(); else ErrorTimes+; MessageBox.Show(用户名或密码不正确!您还有 + (3 - ErrorTimes) + 次输入密码机会,请重新输入!假
8、如超出3次,系统将自动关闭); if (ErrorTimes = 3) ErrorTimes = 0; conn.Close(); private void button2_Click(object sender, EventArgs e) Form8 f1=new Form8(); f1.Show(); private void button5_Click(object sender, EventArgs e) this.Hide(); Form10 f2 = new Form10(); f2.Show(); 3.2图书管理系统界面namespace 图书管理系统 public partia
9、l class Form2 : Form public Form2() InitializeComponent(); private void button5_Click(object sender, EventArgs e) this.Close(); private void button3_Click(object sender, EventArgs e) Form3 f2 = new Form3(); f2.Show(); this.Close(); MessageBox.Show(您已成功进入-图书信息!); private void button2_Click(object sen
10、der, EventArgs e) Form4 f4 = new Form4(); f4.Show(); this.Close(); MessageBox.Show(您已成功进入-还书系统!); private void button1_Click(object sender, EventArgs e) Form5 f5 = new Form5(); f5.Show(); this.Close(); MessageBox.Show(您已成功进入-借书系统!); 3.3图书信息namespace 图书管理系统 public partial class Form3 : Form public Fo
11、rm3() InitializeComponent(); private void Form3_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“图书管理系统DataSet.Table_3”中。您能够依据需要移动或删除它。 this.table_3TableAdapter.Fill(this.图书管理系统DataSet.Table_3); private void textBox1_TextChanged(object sender, EventArgs e) private void button1_Click(object sende
12、r, EventArgs e) this.Close(); 3.4归还图书namespace 图书管理系统 public partial class Form4 : Form public Form4() InitializeComponent(); private void button1_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(提醒:请输入所借书籍编号!, 警告); SqlConnection conn = new SqlConnection(Server=PC_02131602;Int
13、egrated Security=true;DataBase=图书管理系统); conn.Open(); SqlCommand cmd = new SqlCommand(select * from Table_4 where sid= + textBox1.Text.Trim() + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); if (sdr.HasRows) MessageBox.Show(该书已还, 提醒); else sdr.Close(); string myinsert = insert into Tab
14、le_4 (sid) values ( + textBox1.Text + ) ; SqlCommand mycom = new SqlCommand(myinsert, conn); mycom.ExecuteNonQuery(); conn.Close(); conn.Dispose(); MessageBox.Show(您已还书成功!); private void Form4_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“图书管理系统DataSet.Table_4”中。您能够依据需要移动或删除它。 this.table_4Tab
15、leAdapter.Fill(this.图书管理系统DataSet.Table_4); / TODO: 这行代码将数据加载到表“图书管理系统DataSet.Table_3”中。您能够依据需要移动或删除它。 this.table_3TableAdapter.Fill(this.图书管理系统DataSet.Table_3); private void button2_Click(object sender, EventArgs e) this.Close(); Form2 f2 = new Form2(); f2.Show(); 3.5已借图书namespace 图书管理系统 public par
16、tial class Form5 : Form public Form5() InitializeComponent(); private void button1_Click(object sender, EventArgs e) this.Close(); Form2 f2 = new Form2(); f2.Show(); private void Form5_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“图书管理系统DataSet.Table_4”中。您能够依据需要移动或删除它。 this.table_4TableAdapte
17、r.Fill(this.图书管理系统DataSet.Table_4); / TODO: 这行代码将数据加载到表“图书管理系统DataSet.Table_3”中。您能够依据需要移动或删除它。 this.table_3TableAdapter.Fill(this.图书管理系统DataSet.Table_3); private void button2_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(提醒:请输入所借书籍编号!, 警告); SqlConnection conn = new SqlConne
18、ction(Server=PC_02131602;Integrated Security=true;DataBase=图书管理系统); conn.Open(); SqlCommand cmd = new SqlCommand(select * from Table_4 where sid= + textBox1.Text.Trim() + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); if (sdr.HasRows) MessageBox.Show(该书已借, 提醒); else sdr.Close(); strin
19、g myinsert = insert into Table_4 (sid) values ( + textBox1.Text + ) ; SqlCommand mycom = new SqlCommand(myinsert, conn); mycom.ExecuteNonQuery(); conn.Close(); conn.Dispose(); MessageBox.Show(您已借书成功!); private void textBox2_TextChanged(object sender, EventArgs e) 3.6用户信息namespace 图书管理系统 public parti
20、al class Form6 : Form public Form6() InitializeComponent(); private void Form6_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“图书管理系统DataSet.Table_1”中。您能够依据需要移动或删除它。 this.table_1TableAdapter.Fill(this.图书管理系统DataSet.Table_1); private void button1_Click(object sender, EventArgs e) this.Close(); 3
21、.7 管理员主界面namespace 图书管理系统 public partial class Form7 : Form public Form7() InitializeComponent(); private void button2_Click(object sender, EventArgs e) Form6 f1 = new Form6(); f1.Show(); MessageBox.Show(您已成功进入-用户信息!); private void button3_Click(object sender, EventArgs e) Form3 f2 = new Form3(); f2
22、.Show(); MessageBox.Show(您已成功进入-图书信息!); private void button1_Click(object sender, EventArgs e) Form9 f2 = new Form9(); f2.Show(); MessageBox.Show(您已成功进入-添加图书系统!); private void button4_Click(object sender, EventArgs e) this.Close(); 3.8注册界面namespace 图书管理系统 public partial class Form8 : Form public For
23、m8() InitializeComponent(); private void button1_Click(object sender, EventArgs e) if (textBox1.Text = | textBox2.Text = ) MessageBox.Show(提醒:请输入用户名和密码!, 警告); SqlConnection conn = new SqlConnection(Server=PC_02131602;Integrated Security=true;DataBase=图书管理系统); conn.Open(); SqlCommand cmd = new SqlCom
24、mand(select * from table_1 where id= + textBox1.Text.Trim() + and us= + textBox2.Text.Trim() + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); if (sdr.HasRows) MessageBox.Show(该用户已注册,请使用其它用户名, 提醒); else sdr.Close(); string myinsert = insert into table_1(id,us) values ( + textBox1.Text
25、+ , + textBox2.Text + ); SqlCommand mycom = new SqlCommand(myinsert, conn); mycom.ExecuteNonQuery(); conn.Close(); conn.Dispose(); MessageBox.Show(您已注册成功!); private void button2_Click(object sender, EventArgs e) this.Close(); private void Form8_Load(object sender, EventArgs e) 3.9 添加图书namespace 图书管理
26、系统 public partial class Form9 : Form public Form9() InitializeComponent(); private void button2_Click(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection(server=PC_02131602;database=图书管理系统;integrated Security=true); string sql = i
27、nsert into Table_3 (sid,sdata,sname) values( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + ); conn.Open(); SqlCommand comm = new SqlCommand(sql, conn); if (conn.State = ConnectionState.Closed) conn.Open(); if (Convert.ToInt32(comm.ExecuteNonQuery() 0) label4.Text = 成功!; MessageBox.Show(您
28、已成功添加数据!); else label4.Text = 失败!; 4、 系统测试登陆借阅图书归还图书图书信息管理员登陆添加图书用户信息5、连接数据库为数据库BookManage和本系统之间建立一个数据连接。(1)在服务器资源管理器中右击“数据连接”节点(VS 中操作)。在弹出快捷菜单中实施“添加连接”命令,打开Data Link Properties对话框。切换到Provider选项卡,选中列表框中Microsoft OLE DB Provider for SQL Server项。单击“下一步”切换到Connection选项卡。(2)在其中第一个下拉列表框中选择数据库所在服务器名称。输入登
29、录服务器信息后选择数据库BookManage,然后单击测试按钮。假如测试成功,单击“确定”按钮。5.1 连接数据库(1)定义数据库连接字符串,代码以下:Private static string ConnectString = Data Source= (local)sqlexpress;DataBase=BookManage.mdf;(2)创建Connection对象,代码以下:SqlConnection con = new SqlConnection(ConnectString);(3)打开连接,代码以下:con.Open();(4)关闭连接,代码以下:con.Close();5.2操作数
30、据库中数据using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace BookManage class DataAccess private static string ConnectString = Data Source =SQLEXPRESS;AttachDbFilename=F:BookManagedataBookManage.mdf;Integrated Security
31、=False;/数据库连接字符串 / / 依据表名获取数据集表 / / / public static DataTable GetDataSetByTableName(string table) using (SqlConnection con = new SqlConnection(ConnectString)/创建数据库连接对象 string sql = select * from + table + ;/查询sql语句try SqlDataAdapter adapter = new SqlDataAdapter(sql, con);/创建适配器对象 DataSet ds = new Da
32、taSet();/创建数据集对象 adapter.Fill(ds, table);/填充数据集 return ds.Tables0;/返回数据表 catch (SqlException ex) throw new Exception(ex.Message); ; public static DataSet GetDataSetBySql(string sql) using (SqlConnection con = new SqlConnection(ConnectString)/创建数据库连接对象 SqlDataAdapter adapter = new SqlDataAdapter(sql,con);/创建适配器对象 DataSet ds = new Da