在ADO.NET中,有两种操作数据库的方式:
(1)采用无连接的方式。(DataSet,DataTable)
(2)采用保持连接的方式。
不论采用哪种方式,都可以通过SqlCommand对象提供的方法传递对数据库操作的命令,并返回命令执行的结果。
我下面的程序应该是面向连接,没有用到DataSet,DataTable,照理说程序运行,比如刚开始成绩是80,我每次触发一个事件,调用下面的方法,结果就加10,
当加到120我关闭运行,查看表MyTable2的时候结果还是80,我再一次运行发现成绩是上一个值120算起。
疑问:既然没有更新表格,为啥能记录成绩改变了的值120?难道是把更新记录在别的文件??
  private void AddGrade()
        {
            //使用using语句确保关闭连接
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                string sql = "update MyTable2 set 成绩=成绩+10 where 姓名='张三玉'";
                //创建SqlCommand实例,并设置SQL语句和使用的连接实例
                SqlCommand cmd = new SqlCommand(sql, conn);
                listBox1.Items.Clear();
                try
                {
                    conn.Open();
                    //将执行SQL语句影响的记录数赋值给number
                    int number = cmd.ExecuteNonQuery();
                    listBox1.Items.Add(string.Format("修改了{0}条记录", number));
                    cmd.CommandText = "select 成绩 from mytable2 where 姓名='张三玉'";
                    int fen = (int)cmd.ExecuteScalar();
                    MessageBox.Show(fen.ToString());
                }
                catch (Exception ex)
                {
                    listBox1.Items.Add(string.Format("修改记录失败:{0}", ex.Message));
                }
            }
        }