1、C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C+程序员可以高效的开发程序,且因可调用由 C/C+ 编写的本机原生函数,因此绝不损失C/C+原有的强大的功能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。2.2 Sql 数据库概述 SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2
2、版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UN操作系统上的应用。SQL Server 2000 是Microsoft 公司推出的SQL Server数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft W
3、indows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。第三章 系统分析3.1 图书管理系统设计任何一个软件的开始都是进行系统的需求分析。需求分析要根据用户的功能要求、界面以及其他要求进行分析,当然在此需求分析是根据我自己对图书管理系统的基本了解以及系统所需要的基本功能来进行的。其次制作的各个流程图才是真正的系统设计,是在完成需求分析的基础上进行的。3.2 用户的功能需求分析 图书管理系统需要的功能分析如下:管理系统具有多个用户,用户可以使用不同的用户名和密码进入管理系统,并可以修改自己的密码;(一) 进入系统后可以登录该系统;
4、(二) 在系统中可以对数据库进行简单的操作;(三) 最基本的功能还应具有可以编辑图书录入、删除图书资料。图书分类信息的添加、修改、删除和查询。此功能为图书的分类管理提供依据。(四) 图书基本信息的添加、修改、删除和查询。3.3 系统运作流程该系统涉及到用户以及管理员,在两者之间进行一系列的操作。管理员对图书进行录入、删除等操作,和用户之间的交流则是进行借阅图书操作。运作流程图如图:第四章 系统的实现4.1 数据库设计 库名:libraryDB 表名:Administrator,bookAdministrator表 Book表 4.2 C#的设计4.2.1 系统登录界面函数名称功能private
5、 void button2_Click(object sender, EventArgs e)取消按钮操作public bool CheckInput()非空验证public bool CheckUser(ref string message检查用户是否存在dbhelper.CloseConnection();关闭数据库连接private void button1_Click(object sender, EventArgs e)登陆按钮操作private void Form1_FormClosing(object sender, FormClosingEventArgs e)关闭窗口publ
6、ic void OpenConnection()打开数据库public void CloseConnection()关闭数据库using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;name
7、space Library public partial class loginMenu : Form public loginMenu() InitializeComponent(); this.FormClosing += new FormClosingEventHandler(this.Form1_FormClosing); /取消按钮操作 private void button2_Click(object sender, EventArgs e) DialogResult result = MessageBox.Show(确定取消登陆吗?, 操作提示, MessageBoxButton
8、s.YesNo, MessageBoxIcon.Question); if (result = DialogResult.Yes) Application.Exit(); /非空验证 public bool CheckInput() if (this.txtUserName.Text.Trim().Equals(string.Empty) MessageBox.Show(请输入用户名输入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); this.txtUserName.Focus(); return false; else if (t
9、his.txtPwd.Text.Trim().Equals(string.Empty)请输入密码 this.txtPwd.Focus(); else return true; /检查用户是否存在 public bool CheckUser(ref string message) bool isValidUser = false; string userName = txtUserName.Text.Trim(); string userPwd = txtPwd.Text.Trim(); StringBuilder sb = new StringBuilder();/查询用的SQL语句 sb.A
10、ppendFormat(SELECT COUNT(*) FROM Aministrator WHERE Admin = 0 and Psw = 1, userName, userPwd); int count = 0; DBHelper dbhelper = new DBHelper(); try SqlCommand command = new SqlCommand(sb.ToString(), dbhelper.Connection); dbhelper.OpenConnection(); count = (int)command.ExecuteScalar(); if (count 0)
11、 isValidUser = true;用户名或密码错误,请重新输入 message = 用户名不存在; isValidUser = false; catch (Exception ex)系统发生错误,请稍后再试! finally /关闭数据库连接 dbhelper.CloseConnection(); return isValidUser; /登陆按钮操作 private void button1_Click(object sender, EventArgs e) if (CheckInput() string message = string.Empty; /显示选择菜单 if (Chec
12、kUser(ref message) searchBook frmsearch = new searchBook(); frmsearch.Show(); this.Hide(); /关闭窗口 private void Form1_FormClosing(object sender, FormClosingEventArgs e) /数据库打开关闭操作 public class DBHelper private string connString = Data Source=.;Initial Catalog=libraryDB;Integrated Security=True; privat
13、e SqlConnection connection; public SqlConnection Connection get if (connection = null) connection = new SqlConnection(connString); return connection; /打开数据库 public void OpenConnection() if (Connection.State = ConnectionState.Closed) Connection.Open(); else if (Connection.State = ConnectionState.Brok
14、en) Connection.Close(); /关闭数据库 public void CloseConnection() if (Connection.State = ConnectionState.Open | Connection.State = ConnectionState.Broken)4.2.2 查询界面FillListView();调用搜索按钮函数private void FillListView()搜索按钮操作返回按钮private void 借阅ToolStripMenuItem_Click(object sender, EventArgs e)右键菜单借阅操作private
15、 void 归还ToolStripMenuItem_Click(object sender, EventArgs e)右键菜单归还操作 public partial class searchBook : public searchBook() private void btnSearch_Click(object sender, EventArgs e) /调用搜索按钮函数 FillListView(); /搜索按钮操作 private void FillListView() if (listView1.Items.Count listView1.Items.Clear(); StringBu
16、ilder sql = new StringBuilder(); if (comboBox1.Text.Equals(作者) sql.AppendFormat(select * from Book where author like% + textBox1.Text + %); else if (comboBox1.Text.Equals(书名select * from Book where bookName like编号select * from Book where bookNo like SqlCommand command = new SqlCommand(sql.ToString()
17、, dbhelper.Connection); SqlDataReader reader = command.ExecuteReader(); if (!reader.HasRows)没有要查找的记录!提示 while (reader.Read() string bookNo = readerbookNo.ToString(); string bookName = readerbookName string author = readerauthor.ToString().Trim(); string bookstate = readerbookstate ; string lendTime
18、= readerlendTime string returnTime = readerreturnTime string readers = readerreaders string bookcount = readerbookcount ListViewItem item = new ListViewItem(bookName); item.SubItems.Add(bookNo); item.SubItems.Add(author); item.SubItems.Add(bookstate); item.SubItems.Add(lendTime); item.SubItems.Add(r
19、eturnTime); item.SubItems.Add(bookcount); item.SubItems.Add(readers); listView1.Items.Add(item); reader.Close();请选择查找方式, MessageBoxButtons.OK, MessageBoxIcon.Error); /返回按钮 loginMenu frmlog = new loginMenu(); frmlog.Show(); private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) /右键菜
20、单借阅操作 private void 借阅ToolStripMenuItem_Click(object sender, EventArgs e) if (this.listView1.Items.Count if (this.listView1.SelectedItems0.SubItems6.Text.Equals(0)这本书已被借阅完毕,无法借取警告 borrowbook frmborrow = new borrowbook(); frmborrow.Show(); frmborrow.textBox1.Text = this.listView1.SelectedItems0.SubIte
21、ms0.Text; frmborrow.textBox2.Text = this.listView1.SelectedItems0.SubItems1.Text; frmborrow.textBox3.Text = this.listView1.SelectedItems0.SubItems2.Text; frmborrow.textBox4.Text = this.listView1.SelectedItems0.SubItems4.Text; frmborrow.textBox5.Text = this.listView1.SelectedItems0.SubItems5.Text; /右键菜单归还操作 private void 归还ToolStripMenuItem_Click(object sender, EventArgs e) if (this.listView1.Items.Count = 0)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1