.cs.aspx中的ASP案例陈述

时间:2013-05-07 15:16:53

标签: asp.net sql-server

我有一个更新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

1 个答案:

答案 0 :(得分:0)

您可以尝试这样做...只需在声明sqlcommand cmd时添加此代码...保持休息状态......

SqlCommand cmd = new SqlCommand();
if(chboxReverse.Cheked==true)
cmd.CommandText="NameofStoreProcedure2";
else
cmd.CommandText="NameofStoreProcedure2";
cmd.Connection=con;