📄 mytransaction.aspx.cs
字号:
using System;
using System.Collections;
using System.Configuration;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace Example_5_3
{
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class MyTransaction : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label ReaderLabel;
protected System.Web.UI.WebControls.Label TransacteLabel;
private readonly string SQLCONNECTIONSTRING = ConfigurationSettings.AppSettings["SQLCONNECTIONSTRING"].ToString();
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
///显示修改前的记录值
ReaderLabel.Text = FormatDataReader(ExecuteReader());
///执行ADO.NET中的事务操作
ExecuteTransaction("MyName","SheName");
///显示修改后的记录值
TransacteLabel.Text = FormatDataReader(ExecuteReader());
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void ExecuteTransaction(String newName,String newOtherName)
{
///定义执行数据库的SQL
String cmdText = "UPDATE Staff SET Staff_Name='" + newName + "' WHERE Staff_ID=8";
SqlConnection myConnection = new SqlConnection(SQLCONNECTIONSTRING);
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
///打开数据库链接,并定义操作的事务
myConnection.Open();
SqlTransaction myTransaction = myConnection.BeginTransaction();
///事务的开始
myCommand.Transaction = myTransaction;
try
{
///执行数据库操作,并使用使用事务
myCommand.ExecuteNonQuery();
myCommand.CommandText = "UPDATE Staff SET Staff_Name='" + newOtherName + "' WHERE Staff_ID=11";
myCommand.ExecuteNonQuery();
///提交事务
myTransaction.Commit();
Response.Write("修改表Staff中的两条记录成功");
}
catch
{
///回滚事务
myTransaction.Rollback();
Response.Write("修改表Staff中的两条记录失败");
}
finally
{
///关闭数据库链接
myConnection.Close();
}
}
private SqlDataReader ExecuteReader()
{
String cmdText = "SELECT Staff_Name,RealName from Staff WHERE Staff_ID < 12 AND Staff_ID > 7";
SqlConnection myConnection = new SqlConnection(SQLCONNECTIONSTRING);
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
///执行数据库查询,并返回SqlDataReader对象
myConnection.Open();
SqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
return(dr);
}
/// <summary>
/// 格式化SqlDataReader对象中的数据
/// </summary>
private String FormatDataReader(SqlDataReader datareader)
{
///读取数据
String readerString = "";
while(datareader.Read())
{
readerString += "Staff_Name=" + datareader["Staff_Name"].ToString() + " ";
readerString += "RealName=" + datareader["RealName"].ToString();
readerString += "<br>";
}
///关闭读取器
datareader.Close();
return(readerString);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -