通过C#设计图书管理系统来实现对图书的借阅和归还操作。同时使用数据库存放数据或使用集合来编写。
借阅图书界面,连上,借出图书,库存量随之减少 。
若借阅某本图书,其接到最后库存为零,则会提示库存不足,联系管理员加。
以下是代码:
namespace WindowsFormsApp2
{
public partial class Borrow : Form
{
public Borrow()
{
InitializeComponent();
Table();
}
public void Table()//从数据库读取数据显示在表格的控件当中
{
dataGridView1.Rows.Clear();//每次输入前,清楚控件中已有旧数据
Dao dao = new Dao();
string sql = "select *from t_book";
IDataReader dc = dao.read(sql);
while (dc.Read())
{
dataGridView1.Rows.Add(dc[0].ToString(), dc[1].ToString(), dc[2].ToString(), dc[3].ToString(), dc[4].ToString(), dc[5].ToString());
}
dc.Close();
dao.DaoClose();
}
private void label2_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//获取书号
int number = int.Parse(dataGridView1.SelectedRows[0].Cells[4].Value.ToString());//获取库存
if (number < 1)
{
MessageBox.Show("库存不足");
MessageBox.Show("请联系管理员");
}
else
{
string sql = $"insert into t_borrow([uid],bid,[datetime])values('{Data.UID}','{id}',getdate());update t_book set number=number-1 where id='{id}'";
Dao dao = new Dao();
if (dao.Execute(sql) > 1)//执行两条sql语句才成功
{
MessageBox.Show($"用户{Data.Uname}借出了图书{id}!");
}
}
Table();
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
label2.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString() + dataGridView1.SelectedRows[0].Cells[1].Value.ToString();//默认选中第一行
}
}
}
归还图书界面,借出书目编号依次递增,表中显示所借所有书目名称,然后选中需要归还的图书,归还,借书界面的库存也会增加。
以下是代码:
namespace WindowsFormsApp2
{
public partial class Back : Form
{
public Back()
{
InitializeComponent();
Table();
}
public void Table()//从数据库读取数据显示在表格的控件当中
{
dataGridView1.Rows.Clear();//每次输入前,清楚控件中已有旧数据
Dao dao = new Dao();
string sql = $"select [No],[bid],[datetime] from t_borrow where [uid]='{Data.UID}'";
IDataReader dc = dao.read(sql);
while (dc.Read())
{
dataGridView1.Rows.Add(dc[0].ToString(), dc[1].ToString(), dc[2].ToString());
}
dc.Close();
dao.DaoClose();
}
private void button1_Click(object sender, EventArgs e)
{
string No = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//获取借书编号
string id = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();//获取书号
string sql = $"delete from t_borrow where [No] = {No}; update t_book set number = number + 1 where id = '{id}'";
Dao dao = new Dao();
if(dao.Execute(sql)>1)
{
MessageBox.Show("归还成功");
Table();
}
}