namespace 图书管理系统
{
public partial class 新书入库Form : Form
{
public 新书入库Form()
{
InitializeComponent();
}
private string _p; // p=="1"时为书籍注销操作
public string P
{
get { return _p; }
set { _p = value; }
}
private void 新书入库Form_Load(object sender, EventArgs e)
{
if (P != "1")
{
书籍注销panel.Visible = false;
}
}
private void 新书入库Btn_Click(object sender, EventArgs e)
{
if (bNameTB.Text.Trim() == "" || bAuthorTB.Text.Trim() == "" || bPubComTB.Text.Trim() == "" || ISBN.Text.Trim() == "" || bTagTB.Text.Trim() == "" || bPriceTB.Text.Trim() == "" || bPubDatTB.Text.Trim() == "")
{
MessageBox.Show("请填写完整信息", "失败");
}
else
{
// 自动获得图书序列号
string sql = " select COUNT(*)+1 from books";
string bNum = SqlHelper.ExecuteScalar(sql).ToString();
StringBuilder sb = new StringBuilder(bNum);
while (sb.Length != 6)
{
sb.Insert(0, "0");
}
bNum = sb.ToString();
// 添加操作
sql = "insert into books values(@bNum,@bName,@bAuthor,@bPubCom,@bPubDat,@ISBN,@bPrice,@bTag)";
MyDictionary dic = new MyDictionary();
dic.Add("@bNum", bNum);
dic.Add("@bName", bNameTB.Text.Trim());
dic.Add("@bAuthor", bAuthorTB.Text.Trim());
dic.Add("@bPubCom", bPubComTB.Text.Trim());
dic.Add("@bPubDat", bPubDatTB.Text.Trim());
dic.Add("@ISBN", ISBN.Text.Trim());
dic.Add("@bPrice", bPriceTB.Text.Trim());
dic.Add("@bTag", bTagTB.Text.Trim());
int i = SqlHelper.ExecuteNonQuery(sql, dic);
if (i == 1)
{
MessageBox.Show("添加成功,图书序列号为" + bNum);
}
}
}
private void 注销书籍Btn_Click(object sender, EventArgs e)
{
// 判断账号是否存在
if (!SqlHelper.IsBookExistsWithNum(注销书籍TB.Text.Trim()))
{
MessageBox.Show("书籍不存在", "操作失败");
return;
}
else
{
DialogResult dt = MessageBox.Show("确定要注销此书吗", "提示", MessageBoxButtons.OKCancel);
if (dt != DialogResult.OK)
{
return;
}
else
{
string sql = "delete from books where bNum=@bNum";
MyDictionary dic = new MyDictionary();
dic.Add("@bNum", 注销书籍TB.Text.Trim());
int i = SqlHelper.ExecuteNonQuery(sql, dic)
if (i == 1)
{
MessageBox.Show("注销成功");
}
}
this.Close();
}
}
}
}
你是想写一个图书管理系统吗?
流程说明
新书入库Btn_Click函数
来进行处理1.1 先判断输入书籍的信息是否完整,如果不完整,那么请填写完整,如果完整,那么进行下一步
1.2 获取books这个表的所有行数+1为这个表的图书序号,
1.3 执行sql语句,将这本书籍的信息作为 对数据库的books的一行进行插入,
1.4 如果sql语句插入成功,那么就输出成功
注销书籍Btn_Click
来进行处理2.1 判断账号是否存在,如果不存在提示操作失败
2.2 如果账号存在,那么进行确认是否要注销,如果不是,那么函数结束,如果是,那么进行下一步
2.3 执行sql语句将这本书的信息所在行从数据库的表books中删去
2.4 如果sql语句执行成功,数据注销成功,那么就输出'注销成功'
更加详细的代码解释看下面。
代码进行了详细的注释,你看一下:
代码
private string _p; // p=="1"时为书籍注销操作
public string P
{
get { return _p; }
set { _p = value; }
}
// 函数作用:判断新书是否可以注销,如果P!=1 那么就不可以注销,书籍注销panel不可以进行点击
private void 新书入库Form_Load(object sender, EventArgs e)
{
if (P != "1")
{
书籍注销panel.Visible = false;
}
}
// 函数作用:新书入库按钮的点击事件,如果这个函数传入的关于图书的信息完整,那么就把这本书的信息插入数据库,图书库的入库 id设置为之前的所有行数+1
private void 新书入库Btn_Click(object sender, EventArgs e)
{
// 传入的关于图书的信息是否完整,如果不完整,就提示 "信息不完整"的错误
if (bNameTB.Text.Trim() == "" || bAuthorTB.Text.Trim() == "" || bPubComTB.Text.Trim() == "" || ISBN.Text.Trim() == "" || bTagTB.Text.Trim() == "" || bPriceTB.Text.Trim() == "" || bPubDatTB.Text.Trim() == "")
{
MessageBox.Show("请填写完整信息", "失败");
}
else
{
// 自动获得图书序列号,图书序号为之前books这个表中的所有行数+1
string sql = " select COUNT(*)+1 from books";
string bNum = SqlHelper.ExecuteScalar(sql).ToString();
StringBuilder sb = new StringBuilder(bNum);
while (sb.Length != 6)
{
sb.Insert(0, "0");
}
bNum = sb.ToString();
// 添加操作: 将这个图书的所有信息作为一行插入这个books表中
sql = "insert into books values(@bNum,@bName,@bAuthor,@bPubCom,@bPubDat,@ISBN,@bPrice,@bTag)";
MyDictionary dic = new MyDictionary();
dic.Add("@bNum", bNum);
dic.Add("@bName", bNameTB.Text.Trim());
dic.Add("@bAuthor", bAuthorTB.Text.Trim());
dic.Add("@bPubCom", bPubComTB.Text.Trim());
dic.Add("@bPubDat", bPubDatTB.Text.Trim());
dic.Add("@ISBN", ISBN.Text.Trim());
dic.Add("@bPrice", bPriceTB.Text.Trim());
dic.Add("@bTag", bTagTB.Text.Trim());
int i = SqlHelper.ExecuteNonQuery(sql, dic);
// i是sql语句执行之后的返回结果,如果是1,那么可以判断插入成功,输出添加成功和图序序列号
if (i == 1)
{
MessageBox.Show("添加成功,图书序列号为" + bNum);
}
}
}
// 函数:注销书籍的点击事件
private void 注销书籍Btn_Click(object sender, EventArgs e)
{
// 1、判断账号是否存在,如果不存在提示操作失败
if (!SqlHelper.IsBookExistsWithNum(注销书籍TB.Text.Trim()))
{
MessageBox.Show("书籍不存在", "操作失败");
return;
}
else// 如果账号存在,那么执行下面语句
{
DialogResult dt = MessageBox.Show("确定要注销此书吗", "提示", MessageBoxButtons.OKCancel); // 询问你是否要注销这本书
if (dt != DialogResult.OK) // 如果点击了的不是确认按钮OK,那么结束这个函数,停止注销操作
{
return;
}
else // 如果点击了确认按钮OK, 那么执行下面的操作,将这本书的信息所在行从数据库的表books中删去
{
string sql = "delete from books where bNum=@bNum";
MyDictionary dic = new MyDictionary();
dic.Add("@bNum", 注销书籍TB.Text.Trim());
int i = SqlHelper.ExecuteNonQuery(sql, dic)
if (i == 1) // i是sql语句执行之后的返回结果,如果是1,那么可以判断注销成功,输出注销成功
{
MessageBox.Show("注销成功");
}
}
this.Close();
}
}
}
如有问题及时沟通
给你个图书管整个流程图