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

来源:互联网 发布:algorithm 风格算法 编辑:程序博客网 时间:2024/06/06 02:11

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

 设计思路

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();                <span style="color: rgb(0, 0, 255); font-family: Arial, Helvetica, sans-serif;">UpdateData(dataGridView1);</span>
            }        }

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();            }        }



0 0