当前位置:编程学习 > C#/ASP.NET >>

期待合理解释 ......Thanks

SqlConnection con = new SqlConnection();
            con.ConnectionString = ConfigurationManager.ConnectionStrings["bankCon"].ConnectionString;
            con.Open();
            SqlTransaction tran = con.BeginTransaction();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.Transaction = tran;
            try
            {
                cmd.CommandText = "update users set Money=Money-500 where UserName='HHH'";
                cmd.ExecuteNonQuery();
                cmd.CommandText = "update users set Money=Money+500 where UserName='FFF'";
                cmd.ExecuteNonQuery();
                tran.Commit();
                cmd.CommandText = "select * from users";
                SqlDataAdapter dr = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                dr.Fill(ds);
                this.GridView1.DataSource = ds.Tables[0];
                this.GridView1.DataBind();
            }
            catch(Exception ex)
            {
                tran.Rollback();
                Response.Write(ex.Message);
            } --------------------编程问答--------------------   连接数据库字符串,, --------------------编程问答-------------------- 操作数据库   --------------------编程问答-------------------- 其实可以写成事务 --------------------编程问答-------------------- 你要解释什么? --------------------编程问答-------------------- 解释WHAT --------------------编程问答-------------------- 这个 怎么解? --------------------编程问答-------------------- 不知道楼主要解释些什么 --------------------编程问答-------------------- 获得连接字符串 。
建立连接对象 命令对象。
修改 查询 。
绑定控件 。 + 异常处理 ~

--------------------编程问答-------------------- 关注和理性解释 --------------------编程问答-------------------- SqlConnection con = new SqlConnection();//创建连接对象
  con.ConnectionString = ConfigurationManager.ConnectionStrings["bankCon"].ConnectionString;//连接数据库字符串
  con.Open();//打开数据库
  SqlTransaction tran = con.BeginTransaction();//创建事物对象
  SqlCommand cmd = new SqlCommand();//创建cmd
  cmd.Connection = con;//指定cmd连接对象为con
  cmd.Transaction = tran;//指定cmd事物对象为tran
  try
  {
  cmd.CommandText = "update users set Money=Money-500 where UserName='HHH'";
  cmd.ExecuteNonQuery();//执行sql语句
  cmd.CommandText = "update users set Money=Money+500 where UserName='FFF'";
  cmd.ExecuteNonQuery();
  tran.Commit();//事物提交
  cmd.CommandText = "select * from users";
  SqlDataAdapter dr = new SqlDataAdapter(cmd);//设置SqlDataAdapter 执行对象为cmd
  DataSet ds = new DataSet();//创建虚拟表集合
  dr.Fill(ds);//将cmd执行结果填充到虚拟表中
  this.GridView1.DataSource = ds.Tables[0];//绑定虚拟表
  this.GridView1.DataBind();//每个数据源绑定好像都要调用这个方法 不太清楚
  }
  catch(Exception ex)
  {
  tran.Rollback();//异常处理 如果上面操作有问题 事物回滚
  Response.Write(ex.Message);
  } --------------------编程问答-------------------- --------------------编程问答--------------------
SqlConnection con = new SqlConnection();//创建连接对象
  con.ConnectionString = ConfigurationManager.ConnectionStrings["bankCon"].ConnectionString;//连接数据库字符串
  con.Open();//打开数据库
  SqlTransaction tran = con.BeginTransaction();//创建事物对象
  SqlCommand cmd = new SqlCommand();//创建cmd
  cmd.Connection = con;//指定cmd连接对象为con
  cmd.Transaction = tran;//指定cmd事物对象为tran
  try
  {
  cmd.CommandText = "update users set Money=Money-500 where UserName='HHH'";
  cmd.ExecuteNonQuery();//执行sql语句
  cmd.CommandText = "update users set Money=Money+500 where UserName='FFF'";
  cmd.ExecuteNonQuery();
  tran.Commit();//事物提交
  cmd.CommandText = "select * from users";
  SqlDataAdapter dr = new SqlDataAdapter(cmd);//设置SqlDataAdapter 执行对象为cmd
  DataSet ds = new DataSet();//创建虚拟表集合
  dr.Fill(ds);//将cmd执行结果填充到虚拟表中
  this.GridView1.DataSource = ds.Tables[0];//绑定虚拟表
  this.GridView1.DataBind();//每个数据源绑定好像都要调用这个方法 不太清楚
  }
  catch(Exception ex)
  {
  tran.Rollback();//异常处理 如果上面操作有问题 事物回滚
  Response.Write(ex.Message);
  }



同10楼的解释 --------------------编程问答-------------------- bu hao yi si!zai gong si yong de bie ren de computer,mei quan xian an zhuang zhong wen shu ru fa.

"cmd.CommandText = "update users set Money=Money-500 where UserName='HHH'";
  cmd.ExecuteNonQuery();
  cmd.CommandText = "update users set Money=Money+500 where UserName='FFF'";
  cmd.ExecuteNonQuery();
"
ru guo "sql" you cuo ,tong yang hui zhi xing "tran.Commit();",er bu hui "tran.Rollback();" --------------------编程问答--------------------
引用 8 楼 zell419 的回复:
获得连接字符串 。
建立连接对象 命令对象。
修改 查询 。
绑定控件 。 + 异常处理 ~
--------------------编程问答-------------------- 什么玩意 --------------------编程问答-------------------- 求解释,要解释啥 --------------------编程问答-------------------- 这玩意没的解释... --------------------编程问答-------------------- 数据库操作+事务+异常处理 --------------------编程问答--------------------
SqlConnection con = new SqlConnection();//创建连接对象
  con.ConnectionString = ConfigurationManager.ConnectionStrings["bankCon"].ConnectionString;//连接数据库字符串
  con.Open();//打开数据库
  SqlTransaction tran = con.BeginTransaction();//创建事物对象
  SqlCommand cmd = new SqlCommand();//创建cmd
  cmd.Connection = con;//指定cmd连接对象为con
  cmd.Transaction = tran;//指定cmd事物对象为tran
  try
  {
  cmd.CommandText = "update users set Money=Money-500 where UserName='HHH'";
  cmd.ExecuteNonQuery();//执行sql语句
  cmd.CommandText = "update users set Money=Money+500 where UserName='FFF'";
  cmd.ExecuteNonQuery();
  tran.Commit();//事物提交
  cmd.CommandText = "select * from users";
  SqlDataAdapter dr = new SqlDataAdapter(cmd);//设置SqlDataAdapter 执行对象为cmd
  DataSet ds = new DataSet();//创建虚拟表集合
  dr.Fill(ds);//将cmd执行结果填充到虚拟表中
  this.GridView1.DataSource = ds.Tables[0];//绑定虚拟表
  this.GridView1.DataBind();//每个数据源绑定好像都要调用这个方法 不太清楚
  }
  catch(Exception ex) //以上出现易常的话,程序报错
  {
  tran.Rollback();//异常处理 如果上面操作有问题 事物回滚
  Response.Write(ex.Message);//EX是错误提示
  }
--------------------编程问答--------------------
引用 19 楼 tys101582 的回复:
C# code
SqlConnection con = new SqlConnection();//创建连接对象
  con.ConnectionString = ConfigurationManager.ConnectionStrings["bankCon"].ConnectionString;//连接数据库字符串
  con.Open();//打开数据库
  SqlTransactio……

这个要是解释合理吗? --------------------编程问答-------------------- 不好意思谢谢你们的关注,我要得解释是:这个事务的两句SQL如果其中任何一句又错的话,程序同样的回执行
tran.Commit()二不回回滚,这样不就没达到事务所处理的效果了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,