0
我有一个更新SQL表格的web表单。表格按预期运行。我遇到了一些新用户输入错误的问题(用户犯了错误!)我需要让用户能够反转输入。我想要做的只是把一个复选框放在窗体上。当用户点击应用按钮时,系统将运行一个存储过程,将信息输入到表中或从表中删除信息。我想要做的是使用case语句 - 如果chboxReverse.True,运行存储过程2,否则运行存储过程1.我也想在存储过程完成后将值重置为false。.cs.aspx中的ASP case语句
这里是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
你有两个不同的存储过程已经在数据库中 – 2013-05-07 15:22:26
在Button_Click事件中有一个SqlConnection是残酷的代码。请阅读此内容,并请实施至少3层。演示文稿,BusinessLayer和DataLayer .......... http://msdn.microsoft.com/en-us/library/Ee817644(pandp.10).aspx – granadaCoder 2013-05-07 16:34:21