我有一个更新 SQL 表的 Web 表单。表单按预期运行。我遇到了一些新用户输入错误的问题(一个用户犯了错误,请看!)我需要让用户能够撤消输入。我想做的只是在表格上放一个复选框。当用户点击应用按钮时,系统将运行一个存储过程,将信息输入到表中或从表中删除信息。我想要做的是使用 case 语句 - 如果 chboxReverse.True,运行存储过程 2,否则运行存储过程 1。我还想在存储过程完成后将值重置为 false。
这是cs文件信息:
protected void btnUpdate_Click(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection("server=(local);database=InvoiceSHC;Trusted_Connection=Yes"))
{
// Get the UserId of the logged in user
string UserName = "";
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
UserName = HttpContext.Current.User.Identity.Name.ToString();
}
else
{
UserName = "UnauthenticatedUser";
}
string Timestamp = DateTime.Now.ToString();
//Not sure why you need a SqlDataAdapter unused here.
//SqlDataAdapter DA = new SqlDataAdapter("UpdateSHCInvoice", con);
SqlCommand cmd = new SqlCommand("UpdateSHCInvoice", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Ref", dlRef.SelectedItem.Value);
cmd.Parameters.AddWithValue("@PhaseName", dlPhase.SelectedItem.Value);
cmd.Parameters.AddWithValue("@PageType", dlPageType.SelectedItem.Value);
cmd.Parameters.AddWithValue("@Page", tbPage.Text);
cmd.Parameters.AddWithValue("@Percent", dlPercent.SelectedItem.Value);
cmd.Parameters.AddWithValue("@ChngType", dlChngType.SelectedItem.Value);
cmd.Parameters.AddWithValue("@UserName", UserName);
cmd.Parameters.AddWithValue("@Timestamp",Timestamp);
cmd.Parameters.AddWithValue("@Quantity", tbQty.Text);
con.Open();
cmd.ExecuteNonQuery();
GridView1.DataBind();
我想做的是保持不变,只需根据复选框值更改存储过程名称。
这可能吗?
我正在使用 Visual Web Developer 2008 Express 和 SQlServer 2008 R2