C#程序设计之学生信息管理系统

       设计一个学生成绩管理信息系统,能对学生的成绩记录进行方便的输入、查询、修改等操作,以及综合统计查询等。 对学生成绩的综合查询,如查询个人的单科或所有成绩/不及格成绩,查询某门课程的所有程序等。

 设计思路

1)数据库的选择:选择的是基于服务器的数据库 .mdf

2)数据列表的控件选择:DataGridView

3)数据操作方式:

 A,Command- DataReader方式:根据SQL语句(带参数或不带参数)执行相应操作,如根据自己的Update、Insert、Delete语句更新、插入、删除记录;而Select语句则得到一个Reader对象,常用来单向返回少量只读数据到本地。

B,DataAdapter- DataSet方式:如果设置好一个适配器的四个内部命令,则可以完整操作数据表(Fill方法对应SelectCommand,返回数据;Update方法对应其余三个命令,将修改后的数据保存到数据库中);

如果希望在DataGridView中显示数据表,则必须使用Adapter的Fill方法将数据填充到数据表中,然后将该表指定为DataGridView的数据源(DataSource)。


核心代码:

 

public void RunSQL(string sql) //用于SQL语句的执行
        {
            //数据库的添加

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                //打开连接
                conn.Open();
                //声明关于传入的SQL语句的数据库操作集
                SqlCommand cmd = new SqlCommand(sql, conn);
                try
                {
                    cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }

                conn.Close();
                UpdateData(dataGridView1);

            }
        }

public void AddData(string sql) //添加数据
        {
            //string sql = string.Format("insert into StudentInfo values('{0}','{1}','{2}','{3}','{4}')", stdid, stdname, stdsex, college, stdclass);
            RunSQL(sql);
        }
public void DeleteData(string sql)//删除数据
        {
            RunSQL(sql);
        }

        public void UpdateData(DataGridView dgv) //更新数据到对应的datagridview控件中
        {
            string sql = "";
            if (tabControl1.SelectedIndex == 0)
            {
                sql = "select * from StudentInfo";
            }
            else
            {
                sql = "select * from StudentScore";
            }
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                //声明关于传入的SQL语句的数据库操作集
                SqlCommand cmd = new SqlCommand(sql, conn);
                try
                {
                    //打开连接
                    conn.Open();
                    SqlDataReader r = cmd.ExecuteReader();
                    BindingSource bs = new BindingSource();
                    bs.DataSource = r;
                    dgv.DataSource = bs;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                conn.Close();
            }
        }



你可能感兴趣的:(C#程序设计之学生信息管理系统)