⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 courseinfolistform.cs

📁 一个不错的文档
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using MySchoolPrj.DAO;
using MySchoolPrj.Entity;

namespace MySchoolPrj.CourseInfo
{
    public partial class CourseInfoListForm : Form
    {
        private course cour;
        public course Cour
        {
            get { return cour; }
            set { cour = value; }
        }
        public CourseInfoListForm()
        {
            InitializeComponent();
        }
        //连接数据库获取信息
        public void getCourse()
        {
            try
            {
                //打开数据库
                DBHelper.con.Open();
                //创建Command对象
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = DBHelper.con;
                cmd.CommandType = CommandType.Text;
                //读取数据库Sql语句
                string sql = "select * from course";
                cmd.CommandText = sql;
                //数据填充
                SqlDataAdapter dap = new SqlDataAdapter();
                dap.SelectCommand = cmd;
                DataTable dt = new DataTable();
                dap.Fill(dt);
                //释放数据
                //把dt数据放到DateSource中
                dgvCourse.DataSource = dt;
            }
            catch (Exception ex)
            {
                //操作错误
                MessageBox.Show(ex.Message);
            }
            finally
            {
                //关闭数据库
                DBHelper.con.Close();
            }
        }
        //初始化DataGridView的显示
        public void initDg()
        {   //如何选择datGradeView单元格
            //整行选择
            dgvCourse.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //是否显示行标题的列
            dgvCourse.RowHeadersVisible = false;
            //单元格只读
            dgvCourse.ReadOnly = true;
            //不允许用户增加行
            dgvCourse.AllowUserToAddRows = false;
            //不允许用户选择多行
            dgvCourse.MultiSelect = false;
            for (int i = 0; i < dgvCourse.Columns.Count; i++)
            {
                //排序时 不包含列表头
                dgvCourse.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
                string headerText = dgvCourse.Columns[i].HeaderText;
                switch (headerText)
                {
                    case "courseId":
                        //把列标题命名为:课程编号
                        dgvCourse.Columns[i].HeaderText = "课程编号";
                        //列的宽度
                        dgvCourse.Columns[i].Width = 170;
                        break;
                    case "courseName":
                        //  把列标题命名为:课程名称
                        dgvCourse.Columns[i].HeaderText = "课程名称";
                        //列的宽度
                        dgvCourse.Columns[i].Width = 170;
                        break;
                    case "Memo":
                        //把列标题命名为:课程备注
                        dgvCourse.Columns[i].HeaderText = "课程备注";
                        //列的宽度
                        dgvCourse.Columns[i].Width = 170;
                        break;
                }
            }
        }
        //删除信息
        public void delCourse(string courseId)
        {
            try
            {	     //从数据库中获取数据
                DBHelper.con.Open();
                //创建Command对象
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = DBHelper.con;
                cmd.CommandType = CommandType.Text;
                //删除Sql语句
                string sql = string.Format("delete from course where CourseId= '{0}'", courseId);
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();//执行命令
            }
             catch (Exception)
            {
                //错误操作
                MessageBox.Show("该Id已被其他表引用,受主外键约束,无法删除");
            }
            finally
            {//关闭数据库
                DBHelper.con.Close();
            }
        }
        //删除按钮事件
        //提示是否删除
        private void btnCancel_Click(object sender, EventArgs e)
        {
            int curRow;
            DialogResult res = MessageBox.Show("你确定删除吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            //选择否时就返回
            if (res == DialogResult.Cancel)
                return;
            //获取选择行的索引
            if (dgvCourse.Rows.Count > 0)
            {
                curRow = dgvCourse.CurrentRow.Index;
            }
            else {
                MessageBox.Show("没有信息无法删除!");
                return;
            }

            DataTable dt = (DataTable)dgvCourse.DataSource;
            string CourseId = dt.Rows[curRow]["CourseId"].ToString();
            //调用删除方法
            delCourse(CourseId);
            //刷新界面
            getCourse();

        }
        //Load事件
        private void CourseInfoListForm_Load(object sender, EventArgs e)
        {
            //从数据库获取数据
            getCourse();
            //初始化DataGridView的显示
            initDg();
        }
        //增加事件
        private void btnAdd_Click(object sender, EventArgs e)
        {
            //创建CourseEditForm对象
            CourseEditForm addcourseinfofrom = new CourseEditForm();
            //调用窗体(模态)
            addcourseinfofrom.ShowDialog();
            //获取当前的索引
            if (dgvCourse.Rows.Count>0)
            {
                //当前选择行的索引
                int curRow = dgvCourse.CurrentRow.Index;
                //增加的行显示出来
                dgvCourse.Rows[curRow].Selected = true;
            }
            //刷新界面
            getCourse();
        }
        //退出事件
        private void btnExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        //修改事件
        private void button1_Click(object sender, EventArgs e)
        {
            //创建 CourseEditForm窗体的对象
            CourseEditForm addForm = new CourseEditForm();
            //获取当前单元格行的索引
            int curRow = dgvCourse.CurrentRow.Index;
            //从DataGradeView中的数据放到Dt中
            DataTable dt = (DataTable)dgvCourse.DataSource;
            //创建临时对象
            course temp = new course();
            //把当前选择的数据放到临时temp中
            temp.CourseId = dt.Rows[curRow]["courseId"].ToString();
            temp.CourseName = dt.Rows[curRow]["courseName"].ToString();
            temp.Memo = dt.Rows[curRow]["Memo"].ToString();
            //从枚举中选择dsUpdate界面
            addForm.State = State.dsUpdate;
            //把数据放到Cour类中
            addForm.Cour = temp;
            //调用窗体
            addForm.ShowDialog();
            //刷新界面
            getCourse();

        }




    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -