2016-10-19 6 views
0

Ich möchte Wert an den Parameter TYPE 1` übergeben. Aber ich weiß nicht, wie ich das machen soll. Bitte helfen SieGet selected Item der checkboxlist nicht kommen

string constr = ConfigurationManager.ConnectionStrings["OracleConn"].ConnectionString; 
    string strQuery = "SELECT * FROM xxcus.xxacl_pn_expense_info"; 

    int count = 1; 
    List<OracleParameter> parameters = new List<OracleParameter>(); 
    List<string> conditions = new List<string>(); 

    foreach (ListItem li in ddlStatus.Items) 
    { 
     if (li.Selected) 
     { 
      conditions.Add(string.Format(":TYPE{0}", count)); 

      //OracleParameter p = new OracleParameter(string.Format(":TYPE{0}"), OracleType.VarChar); 
      OracleParameter p = new OracleParameter(string.Format(":TYPE{0}", count), OracleType.NVarChar); 
      p.Value = li.Value; 
      parameters.Add(p); 
      count++; 
     } 
    } 

    string whereCondition = string.Empty; 
    if (conditions.Count > 0) 
    { 
     whereCondition = " Where type IN (" + string.Join(",", conditions) + ")"; 
    } 

    using (OracleConnection conn = new OracleConnection(constr)) 
    { 
     using (OracleCommand cmd = new OracleCommand(strQuery + whereCondition)) 
     { 
      cmd.Parameters.AddRange(parameters.ToArray()); 
      cmd.Parameters.Add(":TYPE", OracleType.VarChar) = what to pass here? 

      using (OracleDataAdapter oda = new OracleDataAdapter(cmd)) 
      { 
       cmd.Connection = conn; 
       using (DataTable dtcheck = new DataTable()) 
       { 
        oda.Fill(dtcheck); 
        GridExpInfo.DataSource = dtcheck; 
        GridExpInfo.DataBind(); 
       } 
      } 
     } 
    } 
+1

Was ist das Problem in Ihrem aktuellen Code? –

Antwort

1

Sie sollten nicht durchlaufen, um zu sehen, ob es ausgewählt ist. Der Wert kann in ein paar Ansätze abgerufen werden:

var value = dropdown.SelectedValue; 
var text = dropdown.SelectedItem.Text; 

Weitere Einzelheiten können here finden.

Verwandte Themen