2017-04-07 16 views
-3

下面存在的存儲過程需要添加到此代碼中寫入查詢的位置。如何在ASP.NET中編寫存儲過程

if (ddlFormat.SelectedIndex != 0) 
{ 
    String strConnString = ConfigurationManager.ConnectionStrings["CallcenterConnectionString"].ConnectionString; 
    SqlConnection con1 = new SqlConnection(strConnString); 

    con1.Open(); 
    SqlCommand cmd = new SqlCommand(); 
    SqlDataAdapter sda = new SqlDataAdapter(); 
    DataSet dsDisp = new DataSet(); 
    cmd.CommandType = CommandType.Text; 
    cmd.CommandText = "Select DISTINCT Disposition from CallCenter..Loy_DispMstr where [email protected] and [email protected]"; 
    cmd.Parameters.AddWithValue("@CallType", ddlCalltype.SelectedValue); 
    cmd.Parameters.AddWithValue("@Format", ddlFormat.SelectedItem.Text); 
    cmd.Connection = con1; 
    cmd.ExecuteNonQuery(); 

    sda.SelectCommand = cmd; 
    sda.Fill(dsDisp); 

    ddlDisp.DataTextField = "Disposition"; 
    ddlDisp.DataValueField = "Disposition"; 

    ddlDisp.DataSource = dsDisp.Tables[0]; 
    ddlDisp.DataBind(); 

    ddlDisp.Items.Insert(0, "<----Select---->"); 
    ddlDisp.Focus(); 
} 

protected void ddlDisp_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (ddlDisp.SelectedIndex != 0) 
    { 
     String strConnString = ConfigurationManager.ConnectionStrings["CallcenterConnectionString"].ConnectionString; 

     SqlConnection con = new SqlConnection(strConnString); 
     SqlCommand cmd=new SqlCommand(); 
     SqlDataAdapter sda = new SqlDataAdapter(); 
     DataSet dsSubDisp = new DataSet(); 

     using (cmd = new SqlCommand("Select distinct CallType,Disposition,SubDisposition,Format from Loy_DispMstr where [email protected] and [email protected] and Disposition = @disposition", con)) 
     { 
      cmd.Parameters.AddWithValue("@CallType",ddlCalltype.SelectedValue); 
      cmd.Parameters.AddWithValue("@Format", ddlFormat.SelectedValue); 
      cmd.Parameters.AddWithValue("@disposition", ddlDisp.SelectedValue); 
      con.Open(); 
      cmd.ExecuteNonQuery(); 
     } 
     sda.SelectCommand = cmd; 
     sda.Fill(dsSubDisp); 
     { 
      ddlSubdisp.DataTextField = "SubDisposition"; 
      ddlSubdisp.DataValueField = "SubDisposition"; 
      ddlSubdisp.DataSource = dsSubDisp.Tables[0]; 
      ddlSubdisp.DataBind(); 

      ddlSubdisp.Items.Insert(0, "<----Select---->"); 
      ddlSubdisp.SelectedIndex = 0; 
      ddlSubdisp.Focus(); 

      ddlDisp.Items.Insert(1, "ADD NEW VALUE"); 
      ddlDisp.SelectedIndex = 1; 
      ddlDisp.Focus(); 
     } 
    } 

    if (ddlDisp.SelectedItem.Text == "ADD NEW VALUE") 
    { 
     TextBox1.Visible = true; 
     TextBox2.Visible = true; 
    } 
} 

protected void ddlSubdisp_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    String strConnString = ConfigurationManager.ConnectionStrings["CallcenterConnectionString"].ConnectionString; 

    SqlConnection con = new SqlConnection(strConnString); 

    SqlDataAdapter sda = new SqlDataAdapter(); 
    DataSet dsOut = new DataSet(); 

    SqlCommand cmd = new SqlCommand("select PID,Memberstatus,calltype,format,disposition,subdisposition, man_data,creation_date,createdby,updation_date,updatedby from Loy_SubPlaceholder"); 
    cmd.Connection = con; 
    sda.SelectCommand = cmd; 
    sda.Fill(dsOut); 
    ddlDisp.DataSource = dsOut.Tables[0]; 
    ddlDisp.DataValueField = "subdisposition"; 
    ddlDisp.DataTextField = "subdisposition"; 
    ddlDisp.DataBind(); 
    con.Open(); 

    cmd.ExecuteNonQuery(); 
} 

存儲過程:

if @flag = '1' 
begin 
Select Formatid,Formatdetail,dispformat From loy_Formatdetail with (nolock) 
Where isactive='1' and memberstatus = 'Member' order by FormatDetail 
end 

if @flag = '2' 
begin 
Select DISTINCT Disposition from CallCenter..Loy_DispMstr 
where [email protected] and [email protected] 
end 

if @flag = '3' 
begin 
Select distinct CallType,Disposition,SubDisposition,Format from Loy_DispMstr 
where [email protected] and [email protected] and Disposition = @disposition 
end 
+0

在我想補充的存儲過程 – user31121992

回答

0

在第一個代碼段:

cmd.CommandType = CommandType.StoredProcedure; 
cmd.CommandText = "sp_whatevername"; 
cmd.Parameters.AddWithValue("@CallType", ddlCalltype.SelectedValue); 
cmd.Parameters.AddWithValue("@Format", ddlFormat.SelectedItem.Text); 
cmd.Parameters.AddWithValue("@flag", "1"); 

在ddlDisp_SelectedIndexChanged:

using (SqlCommand cmd = new SqlCommand("sp_whatevername", con)) { 
     cmd.CommandType = CommandType.StoredProcedure; 

     cmd.Parameters.AddWithValue("@CallType",ddlCalltype.SelectedValue); 
     cmd.Parameters.AddWithValue("@Format", ddlFormat.SelectedValue); 
     cmd.Parameters.AddWithValue("@disposition", ddlDisp.SelectedValue); 
     cmd.Parameters.AddWithValue("@flag", "1"); 

     con.Open(); 
     cmd.ExecuteNonQuery(); 
    } 

我與參數更新的代碼標誌。現在你的SP應該有這個參數,並且從你的特定條件你需要通過特定的標誌。這樣你可以從標誌特定的查詢中得到結果。

希望這會有所幫助。

+0

thanks..but我將如何使用標誌......在我的存儲過程我已經添加標誌,每個查詢......所以請你能告訴我如何連接查詢的地方在這個代碼 – user31121992

+0

@ash:將它作爲參數 – Wanderer

+0

你能告訴我pls ... – user31121992