假设您使用的是 ASP.NET Web 窗体。
在您的 .aspx 页面中
TextBox1: <asp:TextBox runat="server" id="TextBox1" /><br />
TextBox2: <asp:TextBox runat="server" id="TextBox2" /><br />
<asp:Button runat="server" id="Button1" OnClick="Button1_Click" Text="Submit" />
在您的 .aspx.cs 页面中
protected void Button1_Click(object sender, EventArgs e)
{
string original_text=GetOriginalTextOfTextBox1();
if(TextBox1.Text==original_text)
{
//the text didn't change
}
else
{
//the text changed. need to update the transaction table and the user table.
}
string originaltext2=GetOriginalTextOfTextBox2();
if(TextBox2.Text==originaltext2)
{
//the text didn't change
}
else
{
//the text changed. need to update the transaction table and the user table.
}
}
protected string GetOriginalTextOfTextBox1()
{
//code here that gets the original value of TextBox1 from the User table.
}
protected string GetOriginalTextOfTextBox2()
{
//code here that gets the original value of TextBox2 from the User table.
}
}
一旦您掌握了概念,您可能希望使用集合(列表)和强类型对象来组合所有这些。这将最大限度地减少对数据库的调用次数并简化您的代码。
--Edit-- 如果您想在Transcation 表中使用单个记录存储单个更新的所有历史记录,您需要修改Transaction 表以一次支持所有字段。请注意,这可能不那么节省空间,具体取决于您是希望用户在每个事务中更新多个字段还是只更新一个字段。
Trans_Id
User_Name
User_Gender
User_Address
Trans_Add_Date