C#数据库课程设计 图书管理系统

  1. 课程设计意义与目标
    1. 课程设计的意义

《数据库课程设计》是在学生学习完《数据库》以后进行的设计性集中实践课程,通过课程集中实践,目的是使学生能加深对理论教学内容的理解,学会可视化编程技术的综合应用,培养学生分析问题的解决问题的能力。

    1. 课程设计的目标

通过课程集中实践,要求学生加深对讲授内容的理解,累积经验、学会独立上机调试程序;并且逐步达到综合运用封装、继承和多态等C#难点知识,更深地理解面向对象程序设计的基本概念与方法,从而学会利用C#语言解决一般应用问题,能设利用可视化编程技术开发复杂和综合性的计算机管理信息系统,并为后续专业课程的学习奠定程序设计基础。

  1. 课程设计的题目
    1. 设计题目概述

图书管理系统

    1. 开发环境搭建

开发语言:C#

开发工具:Visual Studio 2010

数据库管理工具:SQL Server 2008

  1. 系统的设计与实现
    1. 物理数据模型设计
    2.         private void BindData()

              {

                  dgvData.DataSource = BLLDB.TSB.GetModelList("");

              }

              private void BorrowForm_Load(object sender, EventArgs e)

              {

                  dgvData.AutoGenerateColumns = false;

                  InitCBX();

                  BindData();

                  cbxWork.SelectedIndex = 0;

                  

              }

              private void dgvData_CellClick(object sender, DataGridViewCellEventArgs e)

              {

                  if (dgvData.SelectedRows.Count == 1)

                  {

                      TSB model = (TSB)dgvData.SelectedRows[0].DataBoundItem;

                      ISBN = model.BKISBN;

                  }

              }

              private bool CheckInput()

              {

                  if (string.IsNullOrEmpty(txtName.Text.Trim()))

                  {

                      txtName.Focus();

                      tip.Show("必须输入", txtName, 1000);

                      return false;

                  }

                  else if (string.IsNullOrEmpty(cbxAddress.Text))

                  {

                      cbxAddress.DroppedDown = true;

                      tip.Show("必须选择", cbxAddress, 1000);

                      return false;

                  }

                  else if (string.IsNullOrEmpty(cbxWork.Text.Trim()))

                  {

                      cbxWork.DroppedDown = true;

                      tip.Show("必须选择", cbxWork, 1000);

                      return false;

                  }

                  else if (string.IsNullOrEmpty(cbxYear.Text.Trim()))

                  {

                      cbxYear.DroppedDown = true;

                      tip.Show("必须选择", cbxYear, 1000);

                      return false;

                  }

                  else

                  {

                      return true;

                  }

              }

              private void borrow_Click(object sender, EventArgs e)

              {

                  

                  

                  if (CheckInput() && ISBN != null)

                  {

                      string msg = MakeIdentifying();

                      DZB model = new DZB()

                      {

                          

                          DZID = msg,

                          DZADDRESS = cbxAddress.Text,

                          DZDUTY = cbxWork.Text,

                          DZNAME = txtName.Text,

                          DZYEAR = int.Parse(cbxYear.Text),

                          BKISBN = ISBN

                      };

                      if (BLLDB.DZB.Add(model) == true)

                      {

                          MessageBox.Show("借书成功");

                      }

                      else

                      {

                          MessageBox.Show("借书失败");

                      }

                  }  

              }

              private string MakeIdentifying()

              {

                  int num = 0;

                  char[] str = new char[] { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0',

                  };

                  Random r = new Random();

                  string msg = null;

                  while (true)

                  {

                      int rand = r.Next(0, 10);

                      msg += str[rand];

                      num++;

                      if (num == 5)

                          break;

                  }

                  return msg;

              }

      书库查询:

          private void BindData(string msg)

              {

                  dgvData.DataSource = BLLDB.SKB.GetViewModelList(msg);

              }

              private void SKQuiry_Load(object sender, EventArgs e)

              {

                  dgvData.AutoGenerateColumns = false;

                  BindData("");

              }

              private void cbxType_SelectedIndexChanged_1(object sender, EventArgs e)

              {

                  if (cbxType.SelectedIndex == 1)

                  {

                      cbxSelect.DataSource = BLLDB.SKB.GetAddressModelList("");

                      cbxSelect.DisplayMember = "SKADDRESS";

                      cbxSelect.ValueMember = "SKADDRESS";

                  }

                  else if (cbxType.SelectedIndex == 0)

                  {

                      cbxSelect.DataSource = BLLDB.SKB.GetModelList("");

                      cbxSelect.DisplayMember = "SKID";

                      cbxSelect.ValueMember = "SKID";

                  }

              }

              private void cbxSelect_SelectedIndexChanged_1(object sender, EventArgs e)

              {

                  string txt = cbxSelect.Text;

                  if (cbxType.SelectedIndex == 0)

                  {

                      StringBuilder str = new StringBuilder();

                      str.Append(" SKID=" + "'" + txt + "'");

                      BindData(str.ToString());

                  }

                  else if (cbxType.SelectedIndex == 1)

                  {

                      StringBuilder str = new StringBuilder();

                      str.Append(" SKADDRESS=" + "'" + txt + "'");

                      BindData(str.ToString());

                  }

              }

      个人体会及建议

      在这次课设中,基本都是在学习新知识的过程,后面理解了就开始自己写,用户负责借书,用户的增删改,添加用户,管理员负责查询书库,书库的增删改查,查询图书,图书的增删改查,借书记录的增删改查,在这个过程中不仅了解了动软生成软件的机制,而且可熟练的利用这个工具,在这个工具的基础之上,我写出了更多好用的函数供自己使用。在windows应用开发上了解更多控件和控件属性的使用和结合,可以做出功能和界面相对完整的程序,总之,在这次课设中受益匪浅。

       

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值