在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#数据库操作 → C# 学生成绩管理(sqlite数据库,免安装数据库)

C# 学生成绩管理(sqlite数据库,免安装数据库)

C#数据库操作

下载此实例
  • 开发语言:C#
  • 实例大小:0.49M
  • 下载次数:395
  • 浏览次数:1695
  • 发布时间:2018-11-18
  • 实例类别:C#数据库操作
  • 发 布 人:jianxuxie
  • 文件格式:.rar
  • 所需积分:3
 相关标签: 管理 学生 学生成绩管理

实例介绍

【实例简介】SQLite 轻型数据库学习

【实例截图】

from clipboard


from clipboard

【核心代码】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 学生成绩管理
{
    public partial class MainForm : Form
    {
        #region 公用成员变量

        studinfo stud_info = new studinfo();

        private string commandText = "";
        private static string DBName = "jianxuxie.db";
        private static string datasource = System.AppDomain.CurrentDomain.BaseDirectory   DBName;
        private static string connectionString = @"Data Source="   datasource;
        DBHelper dbHelper = new DBHelper(connectionString);

        #endregion

        public MainForm()
        {
            InitializeComponent();
            this.InitializeDataBase();
            this.LoadTable(dataGridView1, "table_stud_info");

        }

        #region 自定义函数

        private void InitializeDataBase()
        {
            //创建数据库
            dbHelper.CreateNewDatabase(DBName);

            // 数据库中创建表 
            commandText = "create table if not exists table_stud_info(学号 varchar(10) primary key,姓名 varchar(6),高数 float,物理 float,C语言 float,外语 float,德育 float,平均 float,及格 varchar(1))";
            dbHelper.CreateTable(commandText);
        }

        private string Get_Column_Max_add_one(string ColumnName)
        {

            int k = 0;
            int j = 0;
            string result = "";
            for (int i = 0; i < dataGridView1.Rows.Count; i  )
            {
                if (i == 0) k = Convert.ToInt32(dataGridView1.Rows[i].Cells[ColumnName].Value);
                if (k < Convert.ToInt32(dataGridView1.Rows[i].Cells[ColumnName].Value))
                {
                    k = Convert.ToInt32(dataGridView1.Rows[i].Cells[ColumnName].Value);
                    j = i;
                }
            }
            if (j == 0)
            {
                result = "1";
            } 
            else
            {
                result = (Convert.ToInt32(dataGridView1.Rows[j].Cells[ColumnName].Value)   1).ToString();
                for (int i = result.Length; i < dataGridView1.Rows[j].Cells[ColumnName].Value.ToString().Length; i  )
                    result = "0"   result;
            }
            return result;
        }

        private void Delete_Row()
        {
            DialogResult dr = MessageBox.Show("确定要删除吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            if (dr == DialogResult.OK)
            {
                commandText = "DELETE FROM table_stud_info WHERE 学号 = '"   tb_del_xuehao.Text.Trim()   "'";
                dbHelper.DeleteFromTable(commandText);
            }
            else
                return;

            this.LoadTable(dataGridView1, "table_stud_info");
        }

        private void set_tabpage_from_datagridview()
        {
            if (dataGridView1.CurrentCellAddress.X >= 0 && dataGridView1.CurrentCellAddress.Y >= 0)
            {
                int i = dataGridView1.CurrentRow.Index;
                stud_info.xuehao = dataGridView1.Rows[i].Cells[0].Value.ToString();
                stud_info.name = dataGridView1.Rows[i].Cells[1].Value.ToString();
                stud_info.gaoshu = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells[2].Value);
                stud_info.wuli = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells[3].Value);
                stud_info.cyuyan = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells[4].Value);
                stud_info.waiyu = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells[5].Value);
                stud_info.deyu = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells[6].Value);
                stud_info.pingjun = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells[7].Value);

                if (this.tabControl_caozuo.SelectedTab == tab_tianjia)
                {
                    this.add_set_studinfo_to_tb();
                    this.btn_add_sure.Focus();
                }
                else if (this.tabControl_caozuo.SelectedTab == tab_shanchu)
                {
                    this.del_set_studinfo_to_tb();
                    this.btn_del_del.Focus();
                }
                else if (this.tabControl_caozuo.SelectedTab == tab_xiugai)
                {
                    this.edit_set_studinfo_to_tb();
                    this.btn_edit_sure.Focus();
                }
                else if (this.tabControl_caozuo.SelectedTab == tab_chaxun)
                {
                    this.query_set_studinfo_to_tb();
                    this.btn_query_sure.Focus();
                }
            }
        }

        private bool check_exist_or_not(string ColumnName, string Target_String)
        {
            for (int i = 0; i < dataGridView1.Rows.Count; i  )
            {
                if (dataGridView1.Rows[i].Cells[ColumnName].Value.ToString() == Target_String
                    || Convert.ToInt32(dataGridView1.Rows[i].Cells[ColumnName].Value) == Convert.ToInt32(Target_String))  
                    return true;
            }
            return false;
        }

        private bool query_from_column(string Column_Name, string match_text)
        {
            
            int i = 0;
            for (i = 0; i < dataGridView1.RowCount; i  )
            {
                if (dataGridView1.Rows[i].Cells[Column_Name].Value.ToString() == match_text)
                {
                    stud_info.xuehao = dataGridView1.Rows[i].Cells["学号"].Value.ToString();
                    stud_info.name = dataGridView1.Rows[i].Cells["姓名"].Value.ToString();
                    stud_info.gaoshu = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells["高数"].Value);
                    stud_info.wuli = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells["物理"].Value);
                    stud_info.cyuyan = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells["C语言"].Value);
                    stud_info.waiyu = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells["外语"].Value);
                    stud_info.deyu = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells["德育"].Value);
                    stud_info.pingjun = (float)Convert.ToDouble(dataGridView1.Rows[i].Cells["平均"].Value);
                    break;
                }
            }
            if (i == dataGridView1.RowCount)
            {
                return false;
            }
            else
            {
                dataGridView1.CurrentCell.Selected = false;//取消当前单元格的选中状态
                dataGridView1.Rows[i].Selected = true; //设置某行为选中状态
                dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];//重设当前单元格
                dataGridView1.FirstDisplayedScrollingRowIndex = i; //设置在当前区域的第一行显示
                return true;
            }
        }

        #endregion

        #region 其他事件函数

        private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
        {
            this.set_tabpage_from_datagridview();
        }

        private void tabControl_caozuo_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.set_tabpage_from_datagridview();
        }

        #endregion

        #region 加载DataGridView

        private void LoadTable(DataGridView DGV, string TableName)
        {
            commandText = @"SELECT * FROM "   TableName   " order by 学号 asc"; //asc 升序排列,可省略,desc降序排列,不可省略
            if (dbHelper.Load(commandText) == true)
            {
                // Show the data in the datagridview
                DGV.DataSource = dbHelper.DataSet.Tables[0];

                //要在datagridview的属性中设置RowHeadersVisible = true,否则达不到理想效果
                FillDatagridview(DGV);
            }
        }

        //既填满datagridview的宽度,又自适应单元格的内容宽度
        //DataGridViewAutoSizeColumnsMode.Fill && DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader
        private void FillDatagridview(DataGridView DGV)
        {
            int ScrollBars_Width = 10;
            int[] AllCells_ColumnsWidth = new int[DGV.Columns.Count];
            int[] Fill_ColumnsWidth = new int[DGV.Columns.Count];
            int[] Final_ColumnsWidth = new int[DGV.Columns.Count];
            int j = DGV.Columns.Count;
            int width_left = DGV.Width;
            for (int i = 0; i < DGV.Columns.Count; i  )
            {
                //设置第i列的宽度为 自适应内容的宽度
                DGV.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCellsExceptHeader);
                //获取第i列的列宽
                AllCells_ColumnsWidth[i] = DGV.Columns[i].Width;
            }
            for (int i = 0; i < DGV.Columns.Count; i  )
            {
                Fill_ColumnsWidth[i] = DGV.Size.Width / DGV.Columns.Count;
                //自适应宽度和平均列宽比较
                if (AllCells_ColumnsWidth[i] >= Fill_ColumnsWidth[i])
                {
                    Final_ColumnsWidth[i] = AllCells_ColumnsWidth[i];
                    width_left -= AllCells_ColumnsWidth[i];
                    j--;
                } 
                else
                {
                    Final_ColumnsWidth[i] = 0;
                }
            }
            for (int i = 0; i < DGV.Columns.Count; i  )
            {
                if (Final_ColumnsWidth[i] == 0)
                {
                    if (DGV.ColumnHeadersHeight   DGV.Rows.Count * dataGridView1.RowTemplate.Height > DGV.Height)
                    {
                        Final_ColumnsWidth[i] = (width_left - ScrollBars_Width - DGV.RowHeadersWidth) / j;
                    }
                    else
                    {
                        Final_ColumnsWidth[i] = (width_left - DGV.RowHeadersWidth) / j;
                    }
                }

                DGV.Columns[i].Width = Final_ColumnsWidth[i];
            }

            /*
            if (width < DGV.Size.Width)
            {
                DGV.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            }
            else
            {
                for (int i = 0; i < DGV.Columns.Count; i  )
                {
                    //在填充的模式下,自动调整第i列的列宽
                    DGV.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.Fill);
                    //记录在填充的模式下的每列宽度和总宽度
                    Fill_ColumnsWidth[i] = DGV.Columns[i].Width;
                    if (AllCells_ColumnsWidth[i] > Fill_ColumnsWidth[i])
                    {
                        Fanal_ColumnsWidth[i] = AllCells_ColumnsWidth[i];
                        j = DGV.Columns.Count - 1;

                        width_left -= AllCells_ColumnsWidth[i];
                        if (width_left < 0)
                        {
                            DGV.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
                            break;
                        }
                    }
                }
            }*/
        }

        #endregion

        #region 输入合法性判断

        private bool add_judge_legality()
        {
            try
            {
                this.add_get_studinfo_from_tb();
                if (check_exist_or_not("学号", stud_info.xuehao))
                {
                    MessageBox.Show("此学号已存在,请重新输入学号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return false;
                }

                if (tb_add_xuehao.Text.Trim().Length == 0)
                {
                    MessageBox.Show("学号输入不能为空,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return false;
                }
                else
                {
                    for (int i = 0; i < tb_add_xuehao.Text.Trim().Length; i  )
                    {
                        if (!char.IsNumber(tb_add_xuehao.Text.Trim()[i]))
                        {
                            MessageBox.Show("学号格式输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            return false;
                        }
                    }
                }
                if (tb_add_name.Text.Trim().Length == 0)
                { MessageBox.Show("姓名不能为空,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
                else if (tb_add_gaoshu.Text.Trim().Length == 0 || (float)Convert.ToDouble(tb_add_gaoshu.Text.Trim()) > 100 || (float)Convert.ToDouble(tb_add_gaoshu.Text.Trim()) < 0)
                { MessageBox.Show("高数成绩输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
                else if (tb_add_wuli.Text.Trim().Length == 0 || (float)Convert.ToDouble(tb_add_wuli.Text.Trim()) > 100 || (float)Convert.ToDouble(tb_add_wuli.Text.Trim()) < 0)
                { MessageBox.Show("物理成绩输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
                else if (tb_add_waiyu.Text.Trim().Length == 0 || (float)Convert.ToDouble(tb_add_waiyu.Text.Trim()) > 100 || (float)Convert.ToDouble(tb_add_waiyu.Text.Trim()) < 0)
                { MessageBox.Show("外语成绩输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
                else if (tb_add_cyuyan.Text.Trim().Length == 0 || (float)Convert.ToDouble(tb_add_cyuyan.Text.Trim()) > 100 || (float)Convert.ToDouble(tb_add_cyuyan.Text.Trim()) < 0)
                { MessageBox.Show("C语言成绩输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
                else if (tb_add_deyu.Text.Trim().Length == 0 || (float)Convert.ToDouble(tb_add_deyu.Text.Trim()) > 100 || (float)Convert.ToDouble(tb_add_deyu.Text.Trim()) < 0)
                { MessageBox.Show("德育成绩输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
                else
                { return true; }
            }

            catch (Exception e)
            {
                MessageBox.Show("您的输入有误,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }

        }

        //依据任意其中一个条件进行查找后删除
        private bool del_judge_legality()
        {
            if (tb_del_xuehao.Text.Trim().Length == 0)
            {
                MessageBox.Show("学号输入不能为空,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }
            else
            {
                for (int i = 0; i < tb_del_xuehao.Text.Trim().Length; i  )
                {
                    if (!char.IsNumber(tb_del_xuehao.Text.Trim()[i]))
                    {
                        MessageBox.Show("学号格式输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return false;
                    }
                }
                return true;
            }
        }

        private bool edit_judge_legality()
        {

            if (tb_edit_xuehao.Text.Trim().Length == 0)
            {
                MessageBox.Show("学号输入不能为空,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }
            else
            {
                for (int i = 0; i < tb_edit_xuehao.Text.Trim().Length; i  )
                {
                    if (!char.IsNumber(tb_edit_xuehao.Text.Trim()[i]))
                    {
                        MessageBox.Show("学号格式输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return false;
                    }
                }
            }
            if (tb_edit_name.Text.Trim().Length == 0)
            { MessageBox.Show("姓名不能为空,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
            else if (tb_edit_gaoshu.Text.Trim().Length == 0 || (float)Convert.ToDouble(tb_edit_gaoshu.Text.Trim()) > 100 || (float)Convert.ToDouble(tb_edit_gaoshu.Text.Trim()) < 0)
            { MessageBox.Show("高数成绩输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
            else if (tb_edit_wuli.Text.Trim().Length == 0 || (float)Convert.ToDouble(tb_edit_wuli.Text.Trim()) > 100 || (float)Convert.ToDouble(tb_edit_wuli.Text.Trim()) < 0)
            { MessageBox.Show("物理成绩输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
            else if (tb_edit_waiyu.Text.Trim().Length == 0 || (float)Convert.ToDouble(tb_edit_waiyu.Text.Trim()) > 100 || (float)Convert.ToDouble(tb_edit_waiyu.Text.Trim()) < 0)
            { MessageBox.Show("外语成绩输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
            else if (tb_edit_cyuyan.Text.Trim().Length == 0 || (float)Convert.ToDouble(tb_edit_cyuyan.Text.Trim()) > 100 || (float)Convert.ToDouble(tb_edit_cyuyan.Text.Trim()) < 0)
            { MessageBox.Show("C语言成绩输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
            else if (tb_edit_deyu.Text.Trim().Length == 0 || (float)Convert.ToDouble(tb_edit_deyu.Text.Trim()) > 100 || (float)Convert.ToDouble(tb_edit_deyu.Text.Trim()) < 0)
            { MessageBox.Show("德育成绩输入不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; }
            else
            { return true; }
        }

        #endregion

        #region 清空文本框

        private void add_tb_setnull()
        {
            tb_add_xuehao.Text = null;
            tb_add_name.Text = null;
            tb_add_gaoshu.Text = null;
            tb_add_deyu.Text = null;
            tb_add_cyuyan.Text = null;
            tb_add_pingjun.Text = null;
            tb_add_waiyu.Text = null;
            tb_add_wuli.Text = null;
        }

        private void del_tb_setnull()
        {
            tb_del_xuehao.Text = null;
            tb_del_name.Text = null;
            tb_del_gaoshu.Text = null;
            tb_del_deyu.Text = null;
            tb_del_cyuyan.Text = null;
            tb_del_pingjun.Text = null;
            tb_del_waiyu.Text = null;
            tb_del_wuli.Text = null;
        }

        private void edit_tb_setnull()
        {
            tb_edit_xuehao.Text = null;
            tb_edit_name.Text = null;
            tb_edit_gaoshu.Text = null;
            tb_edit_deyu.Text = null;
            tb_edit_cyuyan.Text = null;
            tb_edit_pingjun.Text = null;
            tb_edit_waiyu.Text = null;
            tb_edit_wuli.Text = null;
        }

        private void query_tb_setnull()
        {
            tb_query_xuehao.Text = null;
            tb_query_name.Text = null;
            tb_query_gaoshu.Text = null;
            tb_query_deyu.Text = null;
            tb_query_cyuyan.Text = null;
            tb_query_pingjun.Text = null;
            tb_query_waiyu.Text = null;
            tb_query_wuli.Text = null;
        }

        #endregion

        #region 文本框输入输出

        private void add_get_studinfo_from_tb()
        {
            stud_info.xuehao = tb_add_xuehao.Text.Trim();
            stud_info.name = tb_add_name.Text.Trim();
            stud_info.gaoshu = (float)Convert.ToDouble(tb_add_gaoshu.Text.Trim());
            stud_info.wuli = (float)Convert.ToDouble(tb_add_wuli.Text.Trim());
            stud_info.waiyu = (float)Convert.ToDouble(tb_add_waiyu.Text.Trim());
            stud_info.cyuyan = (float)Convert.ToDouble(tb_add_cyuyan.Text.Trim());
            stud_info.deyu = (float)Convert.ToDouble(tb_add_deyu.Text.Trim());
            stud_info.pingjun = (stud_info.gaoshu   stud_info.wuli   stud_info.waiyu   stud_info.cyuyan   stud_info.deyu) / 5;
            tb_add_pingjun.Text = stud_info.pingjun.ToString();
            stud_info.jige = (stud_info.pingjun >= 60) ? "是" : "否"; 
        }

        private void add_set_studinfo_to_tb()
        {
            tb_add_xuehao.Text = stud_info.xuehao;
            tb_add_name.Text = stud_info.name;
            tb_add_gaoshu.Text = stud_info.gaoshu.ToString();
            tb_add_wuli.Text = stud_info.wuli.ToString();
            tb_add_cyuyan.Text = stud_info.cyuyan.ToString();
            tb_add_waiyu.Text = stud_info.waiyu.ToString();
            tb_add_deyu.Text = stud_info.deyu.ToString();
            stud_info.pingjun = (stud_info.gaoshu   stud_info.wuli   stud_info.waiyu   stud_info.cyuyan   stud_info.deyu) / 5;
            tb_add_pingjun.Text = stud_info.pingjun.ToString();
        }

        private void del_set_studinfo_to_tb() 
        {
            tb_del_xuehao.Text = stud_info.xuehao;
            tb_del_name.Text = stud_info.name;
            tb_del_gaoshu.Text = stud_info.gaoshu.ToString();
            tb_del_wuli.Text = stud_info.wuli.ToString();
            tb_del_cyuyan.Text = stud_info.cyuyan.ToString();
            tb_del_waiyu.Text = stud_info.waiyu.ToString();
            tb_del_deyu.Text = stud_info.deyu.ToString();
            stud_info.pingjun = (stud_info.gaoshu   stud_info.wuli   stud_info.waiyu   stud_info.cyuyan   stud_info.deyu) / 5;
            tb_del_pingjun.Text = stud_info.pingjun.ToString();
        }

        private void edit_get_studinfo_from_tb()
        {
            stud_info.xuehao = tb_edit_xuehao.Text.Trim();
            stud_info.name = tb_edit_name.Text.Trim();
            stud_info.gaoshu = (float)Convert.ToDouble(tb_edit_gaoshu.Text.Trim());
            stud_info.wuli = (float)Convert.ToDouble(tb_edit_wuli.Text.Trim());
            stud_info.waiyu = (float)Convert.ToDouble(tb_edit_waiyu.Text.Trim());
            stud_info.cyuyan = (float)Convert.ToDouble(tb_edit_cyuyan.Text.Trim());
            stud_info.deyu = (float)Convert.ToDouble(tb_edit_deyu.Text.Trim());
            stud_info.pingjun = (stud_info.gaoshu   stud_info.wuli   stud_info.waiyu   stud_info.cyuyan   stud_info.deyu) / 5;
            tb_edit_pingjun.Text = stud_info.pingjun.ToString();
            stud_info.jige = (stud_info.pingjun >= 60) ? "是" : "否";
        }

        private void edit_set_studinfo_to_tb()
        {
            tb_edit_xuehao.Text = stud_info.xuehao;
            tb_edit_name.Text = stud_info.name;
            tb_edit_gaoshu.Text = stud_info.gaoshu.ToString();
            tb_edit_wuli.Text = stud_info.wuli.ToString();
            tb_edit_cyuyan.Text = stud_info.cyuyan.ToString();
            tb_edit_waiyu.Text = stud_info.waiyu.ToString();
            tb_edit_deyu.Text = stud_info.deyu.ToString();
            stud_info.pingjun = (stud_info.gaoshu   stud_info.wuli   stud_info.waiyu   stud_info.cyuyan   stud_info.deyu) / 5;
            tb_edit_pingjun.Text = stud_info.pingjun.ToString();
        }

        private void query_set_studinfo_to_tb()
        {
            tb_query_xuehao.Text = stud_info.xuehao;
            tb_query_name.Text = stud_info.name;
            tb_query_gaoshu.Text = stud_info.gaoshu.ToString();
            tb_query_wuli.Text = stud_info.wuli.ToString();
            tb_query_cyuyan.Text = stud_info.cyuyan.ToString();
            tb_query_waiyu.Text = stud_info.waiyu.ToString();
            tb_query_deyu.Text = stud_info.deyu.ToString();
            stud_info.pingjun = (stud_info.gaoshu   stud_info.wuli   stud_info.waiyu   stud_info.cyuyan   stud_info.deyu) / 5;
            tb_query_pingjun.Text = stud_info.pingjun.ToString();
        }

        #endregion

        #region 工具栏按钮点击事件

        private void tianjia_Click(object sender, EventArgs e)
        {
            this.tabControl_caozuo.SelectedTab = tab_tianjia;
        }

        private void shanchu_Click(object sender, EventArgs e)
        {
            this.tabControl_caozuo.SelectedTab = tab_shanchu;
        }

        private void xiugai_Click(object sender, EventArgs e)
        {
            this.tabControl_caozuo.SelectedTab = tab_xiugai;
        }

        private void chaxun_Click(object sender, EventArgs e)
        {
            this.tabControl_caozuo.SelectedTab = tab_chaxun;
        }

        #endregion

        #region 各选项卡中的按钮点击事件

        private void btn_add_sure_Click(object sender, EventArgs e)
        {
            if (this.add_judge_legality())
            {
                //下面添加数据库操作

                // 插入数据 
                //string  commandText = "INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN)";
                commandText = "INSERT INTO table_stud_info (学号,姓名,高数,物理,C语言,外语,德育,平均,及格) VALUES ('"
                      stud_info.xuehao   "','"   stud_info.name   "',"   stud_info.gaoshu   ","   stud_info.wuli   ","
                      stud_info.cyuyan   ","   stud_info.waiyu   ","   stud_info.deyu   ","   stud_info.pingjun   ",'"   stud_info.jige   "')";
                dbHelper.InsertToTable(commandText);
                string text = stud_info.xuehao;
                this.LoadTable(dataGridView1, "table_stud_info");

                for (int i = 0; i < dataGridView1.Rows.Count; i  )
                {
                    if (dataGridView1.Rows[i].Cells["学号"].Value.ToString() == text)
                    {
                        //dataGridView1.CurrentCell.Selected = false;//取消当前单元格的选中状态
                        // dataGridView1.Rows[i].Selected = true; //设置某行为选中状态
                        dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];//重设当前单元格
                        dataGridView1.CurrentRow.Selected = true;
                        dataGridView1.FirstDisplayedScrollingRowIndex = i; //设置在当前区域的第一行显示
                        break;
                    }
                }

                this.add_tb_setnull();
                this.tb_add_xuehao.Text = Get_Column_Max_add_one("学号");

            }
        }

        private void btn_add_qingkong_Click(object sender, EventArgs e)
        {
            this.add_tb_setnull();
            this.tb_add_xuehao.Text = Get_Column_Max_add_one("学号");
        }

        private void btn_del_del_Click(object sender, EventArgs e)
        {
            //从datagridview中获取数据并显示到文本框中
            this.del_set_studinfo_to_tb();
            this.Delete_Row();
        }

        private void btn_del_find_Click(object sender, EventArgs e)
        {
            bool a = false;
            bool b = false;

            //按条件查找
            if (tb_del_xuehao.Text == "" && tb_del_name.Text == "")
            {
                MessageBox.Show("请输入学号或姓名!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (tb_del_xuehao.Text != "")
            {
                a = this.query_from_column("学号", tb_del_xuehao.Text);
            }
            else
            {
                b = this.query_from_column("姓名", tb_del_name.Text);
            }

            //是否找到
            if (a == true || b == true)
            {
                this.del_set_studinfo_to_tb();
            }
            else
            {
                MessageBox.Show("未找到此人信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

        }

        private void btn_edit_sure_Click(object sender, EventArgs e)
        {
            if (this.edit_judge_legality())
            {
                int i = dataGridView1.CurrentRow.Index;

                //下面添加数据库操作
                this.edit_get_studinfo_from_tb();
                commandText = string.Format("UPDATE table_stud_info SET 姓名 = '{0}',高数 ={1},物理 ={2},C语言 ={3},外语 ={4},德育 ={5},平均 ={6},及格 ='{7}' WHERE 学号 = '{8}'", stud_info.name, stud_info.gaoshu, stud_info.wuli, stud_info.cyuyan, stud_info.waiyu, stud_info.deyu, stud_info.pingjun, stud_info.jige, stud_info.xuehao);
                dbHelper.UpdateTable(commandText);
                this.LoadTable(dataGridView1, "table_stud_info");

                dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[0];
                dataGridView1.Rows[i].Selected = true; //设置某行为选中状态
                dataGridView1.FirstDisplayedScrollingRowIndex = i; //设置在当前区域的第一行显示
            }
        }

        private void btn_edit_cancel_Click(object sender, EventArgs e)
        {
            //this.edit_tb_setnull();
            this.edit_set_studinfo_to_tb();
        }

        private void btn_query_sure_Click(object sender, EventArgs e)
        {
            bool a = false;
            bool b = false;

            //按条件查找
            if (tb_query_xuehao.Text.Trim() == "" && tb_query_name.Text.Trim() == "")
            {
                MessageBox.Show("请输入学号或姓名!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            else if (tb_query_xuehao.Text.Trim() != "")
            {
                a = this.query_from_column("学号", tb_query_xuehao.Text.Trim());
            }
            else 
            {
                b = this.query_from_column("姓名", tb_query_name.Text.Trim());
            }

            //是否找到
            if (a == true || b == true)
            {
                this.query_set_studinfo_to_tb();
            } 
            else
            {
                MessageBox.Show("未找到此人信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void btn_query_qingkong_Click(object sender, EventArgs e)
        {
            this.query_tb_setnull();
        }

        #endregion

        #region DataGridView的右键事件函数

        private void 添加ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.tabControl_caozuo.SelectedTab = tab_tianjia;
            this.set_tabpage_from_datagridview();
        }

        private void 修改ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.tabControl_caozuo.SelectedTab = tab_xiugai;
            this.set_tabpage_from_datagridview();
        }

        private void 查询ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.tabControl_caozuo.SelectedTab = tab_chaxun;
            this.set_tabpage_from_datagridview();
        }

        private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.del_set_studinfo_to_tb();
            this.Delete_Row();
        }

        #endregion
    }
}

实例下载地址

C# 学生成绩管理(sqlite数据库,免安装数据库)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 928606 发表于: 2024-02-17 23:09 10
适合新手学习

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有1条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警