高手翻译一下这段代码是什么意思

2025-02-26 18:05:27
推荐回答(1个)
回答1:

if (Request["ID"] != null) //不为空的条件
{
InitData();
}
protected void InitData() //执行不为空的方法
{
int id = int.Parse(Request["ID"].ToString()); //获取请求的iD
try
{
DataSet ds = new DataSet(); //实例化一个dataset
ds = new Class1().hsggetdata("select * from 成绩 where id=" + id); //将查询出的数据赋给ds
if (ds.Tables[0].Rows.Count > 0) //将数据填充到页面控件上
{
this.TextBox1.Text = ds.Tables[0].Rows[0]["学号"].ToString();
this.TextBox2.Text = ds.Tables[0].Rows[0]["科目"].ToString();
this.TextBox3.Text = ds.Tables[0].Rows[0]["成绩"].ToString();
this.DropDownList1.Text = ds.Tables[0].Rows[0]["类型 "].ToString();
}
}
catch
{
}
}
protected void Button1_Click(object sender, EventArgs e) //修改或添加操作
{
string sql;

if (Request["ID"] != null) //ID不为空的情况
{
int id = int.Parse(Request["ID"].ToString()); //获取ID
sql = "update 成绩 set 学号='" + TextBox1.Text + "',科目='" + TextBox2.Text + "',成绩='" + this.TextBox3.Text + "',类型='" + this.DropDownList1.SelectedItem.Text

+ "' where id=" + id; //sql更新语句赋给sql
int result;
result = new Class1().hsgexucute(sql);
if (result == 1) //判断更新操作是否成功
{
Response.Write("");
}
else
{
Response.Write("");
}

}
else //ID为空则进行添加操作
{
sql = "insert into 成绩(学号,科目,成绩,类型) values('" + this.TextBox1.Text.Trim() + "','" + this.TextBox2.Text + "','" + this.TextBox3.Text + "','" +

this.DropDownList1.SelectedItem.Text + "')"; //添加语句是拼接的方式进行
int result;
result = new Class1().hsgexucute(sql);
if (result == 1) //判断添加操作是否成功
{
Response.Write("");
}
else
{
Response.Write("");
}

}
}
protected void Button2_Click(object sender, EventArgs e) //清空操作
{
foreach (System.Web.UI.Control control in Controls)
{
for (int i = 0; i < control.Controls.Count; i++)
{
if (control.Controls[i] is System.Web.UI.WebControls.TextBox)
{
System.Web.UI.WebControls.TextBox tb = (System.Web.UI.WebControls.TextBox)control.Controls[i];
tb.Text = "";
}
}
}
}
从后台代码可以看出楼主是在一个页面上进行添加和修改操作,这样做系统执行效率高,不用进行跳转页面。不过你无论是添加还是更新操作后要绑定下数据,这样页面上的信息是最新的。最后的清空操作可以直接用this.textbox=string.empty进行,不需要用循环方式。希望能帮到你,写的不好还望谅解。