2016-10-19 8 views
0

値TYPE 1に値を渡したいと思います。しかし、私はこれを行う方法を認識していない。助けてくださいチェックボックスリストの選択項目を取得しない

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

現在のコードではどのような問題がありますか? –

答えて

1

選択されているかどうかを確認するためにループスルーする必要はありません。値は、アプローチのカップルで取得できます。

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

より詳細にはhere見つけることができます。

関連する問題