期待合理解释 ......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();" --------------------编程问答-------------------- --------------------编程问答-------------------- 什么玩意 --------------------编程问答-------------------- 求解释,要解释啥 --------------------编程问答-------------------- 这玩意没的解释... --------------------编程问答-------------------- 数据库操作+事务+异常处理 --------------------编程问答--------------------
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是错误提示
}
这个要是解释合理吗? --------------------编程问答-------------------- 不好意思谢谢你们的关注,我要得解释是:这个事务的两句SQL如果其中任何一句又错的话,程序同样的回执行
tran.Commit()二不回回滚,这样不就没达到事务所处理的效果了。
补充:.NET技术 , ASP.NET