zoukankan      html  css  js  c++  java
  • 系统设计部分代码

    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;
    
    namespace FS图书馆
    {
     
        public partial class 图书管理系统 : Form
        {
            string Reader = null;
            int 读者级别 = 3;//默认为3级别,正常的三个级别
            bool isLogined = false;
            public 图书管理系统()
            {
                InitializeComponent();
                this.dateTimePicker.MinDate = DateTime.Now;//防止用户错误的将还书的时间设置在当前日期之前。
            }
    
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
    
            }
    
            private void button_确认查询_Click(object sender, EventArgs e)
            {
                bool[] isChecked = new bool[3];
                string[] row = new string[3]{"[作者]","[出版社]","[关键词]"};
                isChecked[0] = radioButton_作者.Checked;
                isChecked[1] = radioButton_出版社.Checked;
                isChecked[2] = radioButton_关键词.Checked;
                int flag = -1;
                for(int i=0;i<isChecked.Length;i++)
                {
                    if(isChecked[i]==true)
                    {
                        flag = i;
                        break;
                    }
                }
                if(flag == -1)
                {
                    MessageBox.Show("请选一个标签再进行检索");
                }
                else
                {
                    //检索数据库,并且将结果显示在DataGridView上面
                    dataGridView_主界面.DataSource = null;
                    string message = textBox_检索信息.Text;
                    String sql = String.Format("select * from TypeBook left join SingleBook on " +
                        " SingleBook.书目号 = TypeBook.书目号 where TypeBook.书目号 in " +
                        " (select 书目号 from TypeBook where {0} like N'%{1}%')",row[flag],message);
                    DataSet ds = DB.select_DataSet(sql,"SingleBook");
                    dataGridView_主界面.DataSource = ds.Tables["SingleBook"];
                }
    
            }
    
            private void 图书管理系统_Load(object sender, EventArgs e)
            {
    
            }
    
            private void button_登录_Click(object sender, EventArgs e)
            {
                Reader = txtbox_学工号.Text;
                string password = txtbox_密码.Text;
                txtbox_学工号.Text = null;
                txtbox_密码.Text = null;
                string sql = String.Format("select count(*) from Reader where 学工号=N'{0}' " +
                    " and  密码 = N'{1}'",Reader,password);
                int n = (int)DB.select_count(sql);
                if(n==1)
                {
                    MessageBox.Show("登录成功");
                    this.isLogined = true;
                    string connString = @"Data Source=(localdb)MSSQLLocalDB;Initial Catalog=C:USERSWANGGONGSHENGAPPDATALOCALMICROSOFTMICROSOFT SQL SERVER LOCAL DBINSTANCESMSSQLLOCALDBNEWLIBRARYKEDA.MDF;Integrated Security=True";
                    SqlConnection conn = new SqlConnection(connString);
                    sql = String.Format("select 读者级别 from Reader where 学工号=N'{0}'", Reader);
                    try
                    {
                        conn.Open();
                        SqlCommand comm = new SqlCommand(sql, conn);
                        读者级别 = (int)comm.ExecuteScalar();
                        //显示一下读者等级
                        DataSet ds = DB.select_DataSet(String.Format("select 读者级别 from Reader where 学工号=N'{0}'", Reader), "读者级别");
                        dataGridView_主界面.DataSource = ds.Tables["读者级别"];
                        //
                        conn.Close();
                    }
                    catch(Exception exception)
                    {
                        MessageBox.Show(exception.ToString());
                    }
                   
                }
                else
                {
                    MessageBox.Show("账号或者密码错误,请重新输入");
                    txtbox_学工号.Text = null;
                    txtbox_密码.Text = null;
                }
            }
    
            private void button_退出_Click(object sender, EventArgs e)
            {
                Reader = null;
                isLogined = false;
                读者级别 = 3;
                dataGridView_主界面.DataSource = null;//清空
            }
    
            private void button_读者中心_Click(object sender, EventArgs e)
            {
                
            }
    
            private void button_确认归还_Click(object sender, EventArgs e)
            {
                if(isLogined)
                {
                    string 图书编号 = txtReturnBookId.Text;
                    string connString = @"Data Source=(localdb)MSSQLLocalDB;Initial Catalog=C:USERSWANGGONGSHENGAPPDATALOCALMICROSOFTMICROSOFT SQL SERVER LOCAL DBINSTANCESMSSQLLOCALDBNEWLIBRARYKEDA.MDF;Integrated Security=True";
                    SqlConnection conn = new SqlConnection(connString);
                    string sql1 = String.Format("select count(*) from [dbo].[SingleBook] where [图书编号]=N'{0}' and [借阅人]=N'{1}'",图书编号,Reader);
                    string sql2 = String.Format("select [书名] from [dbo].[TypeBook],[dbo].[SingleBook] where [dbo].[SingleBook].[图书编号]=N'{0}' and [dbo].[SingleBook].[书目号]=[dbo].[TypeBook].[书目号]",图书编号);
                    string sql3 = String.Format("select [书目号] from [dbo].[SingleBook] where [dbo].[SingleBook].[图书编号]=N'{0}'",图书编号);
                    try
                    {
                        conn.Open();
                        SqlCommand comm1 = new SqlCommand(sql1,conn);
                        SqlCommand comm2 = new SqlCommand(sql2,conn);
                        SqlCommand comm3 = new SqlCommand(sql3, conn);
                        int returnNumber = (int)comm1.ExecuteScalar();
                        string bookName = (string)comm2.ExecuteScalar();
                        string 书目号 = (string)comm3.ExecuteScalar();
                        conn.Close();
                        if (returnNumber == 0)
                        {
                            MessageBox.Show(String.Format("您在图书管理系统中没有借阅{0}的记录,[图书编号]={1}", bookName, 图书编号));
                        }
                        else
                        {
                            sql1 = String.Format("update [dbo].[TypeBook] set [可借阅数量] = [可借阅数量]+1 where [书目号]=N'{0}'",书目号);
                            sql2 = String.Format("update [dbo].[SingleBook] set [借阅人]='0',[借出状态]='可借阅',[借出时间]=null,[应该归还时间]=null");
                            comm1 = new SqlCommand(sql1,conn);
                            comm2 = new SqlCommand(sql2,conn);
                            try
                            {
                                conn.Open();
                                comm1.ExecuteNonQuery();
                                comm2.ExecuteNonQuery();
                                MessageBox.Show(String.Format("成功归还图书:{0},编号:{1}",bookName,图书编号));
                                conn.Close();
                            }catch(Exception ex)
                            {
                                MessageBox.Show(ex.ToString());
                            }
    
                        } 
                    }
                    catch(Exception exception)
                    {
                        MessageBox.Show(exception.ToString());
                    }
                }
                else 
                {
                    MessageBox.Show("请登录之后在进行归还操作!谢谢");
                }
                
            }
    
            private void button_确认借出_Click(object sender, EventArgs e)
            {
                if(isLogined)
                {
                    string 图书编号 = txtBorrowBookId.Text;
                    string connString = @"Data Source=(localdb)MSSQLLocalDB;Initial Catalog=C:USERSWANGGONGSHENGAPPDATALOCALMICROSOFTMICROSOFT SQL SERVER LOCAL DBINSTANCESMSSQLLOCALDBNEWLIBRARYKEDA.MDF;Integrated Security=True";
                    SqlConnection conn = new SqlConnection(connString);
                    string sql1 = String.Format("select [dbo].[TypeBook].[可借阅数量] from [dbo].[TypeBook],[dbo].[SingleBook] " +
                        "where [图书编号]='{0}' and [dbo].[SingleBook].[书目号]=[dbo].[TypeBook].[书目号]", 图书编号);
                    string sql2 = String.Format("select [dbo].[TypeBook].[书名] from [dbo].[TypeBook],[dbo].[SingleBook] " +
                        "where [图书编号]='{0}' and [dbo].[SingleBook].[书目号]=[dbo].[TypeBook].[书目号]", 图书编号);
                    string sql3 = String.Format("select [书目号] from [dbo].[SingleBook] where [图书编号]='{0}'",图书编号);
                    try
                    {
                        conn.Open();
                        SqlCommand comm1 = new SqlCommand(sql1, conn);
                        SqlCommand comm2 = new SqlCommand(sql2, conn);
                        SqlCommand comm3 = new SqlCommand(sql3, conn);
                        int sumBookNumber = (int)comm1.ExecuteScalar();
                        string bookName = (string)comm2.ExecuteScalar();
                        string 书目号 = (string)comm3.ExecuteScalar();
                        conn.Close();
                        if (sumBookNumber == 0)
                        {
                            MessageBox.Show(String.Format("对不起,{0}当前可借阅的数量为0.借阅操作失败!", bookName));
                        }
                        else
                        {
                            string returnBookTime = dateTimePicker.Value.Date.ToLongDateString();
                            string borrowBookTime = DateTime.Now.ToLongDateString();
                            sql1 = String.Format("update [dbo].[SingleBook] set [借阅人]=N'{0}',[借出状态]=N'{1}',[借出时间]=N'{2}',[应该归还时间]=N'{3}' where [图书编号]='{4}'", Reader, "已借出", borrowBookTime, returnBookTime,图书编号);
                            sql2 = String.Format("update [dbo].[TypeBook] set [可借阅数量]=[可借阅数量]-1 where [dbo].[TypeBook].[书目号]='{0}'", 图书编号);
                            try
                            {
                                conn.Open();
                                comm1 = new SqlCommand(sql1, conn);
                                comm2 = new SqlCommand(sql2, conn);
                                //comm1.ExecuteNonQuery();
                                comm2.ExecuteNonQuery();
                                MessageBox.Show(String.Format("OK,借阅操作成功!"));
                                conn.Close();
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.ToString());
                            }
                        }
                    }
                    catch (Exception exception)
                    {
                        MessageBox.Show(exception.ToString());
                    }
                }
                else
                {
                    MessageBox.Show("请登录之后在进行借阅操作!谢谢");
                }
    
            }
    
            private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
            {
    
            }
        }
    }
  • 相关阅读:
    高级程序员和普通程序员有哪些区别?
    自学编程需要注意什么?
    你是如何转行的?转行容易吗?
    什么是VueCLI3
    强制缓存和协商缓存有什么区别
    npm与package.json
    最高效的学习方法——逆向学习法
    html space空格符
    in typeof instanceof ===这些运算符有什么作用
    教你如何“快速”激活IntelliJ IDEA 工具
  • 原文地址:https://www.cnblogs.com/zuimeiyujianni/p/10045330.html
Copyright © 2011-2022 走看看