2016-12-31 61 views
1

1.我有query.But無法添加第二where條件。請告訴我正確的語義。asp.net:query多條件條件

2.如何從dropdownlist中獲取數據並在gridview中顯示它。

我怎樣才能在條件失敗從Tution fee列我的數據庫,當條件滿足的取值,Hostel Fee ??。

protected void BindGridview() 
{ 
    constr = ConfigurationManager.ConnectionStrings["connstring_DETMIS"].ToString(); // connection string 
                        // String FID = DropDownList1.SelectedItem.Value; 
    using (var conn = new MySql.Data.MySqlClient.MySqlConnection(constr)) { 
     conn.Open(); 

     using (var cmd = new MySql.Data.MySqlClient.MySqlCommand("select * from fees_collect_category" + " where F_id =" + DropDownList1.SelectedItem.Value " and C_id=" + DropDownList2.SelectedItem.Value, conn)) { 

      using (var reader = cmd.ExecuteReader()) { 
       if (reader.HasRows) { 
        gvDetails.DataSource = reader; 
        gvDetails.DataBind(); 
       } else 
        lblWarning.Text = "There are no records.."; 
      } 
     } 
    } 
} 
+2

你在''和C_id =「' – Shadow

回答

1

歡迎#1。你應該首先研究谷歌爲什麼你不能添加多個條件(這只是因爲簡單的語法錯誤)。

行的確切代碼將是這樣的。

using (var cmd = new MySql.Data.MySqlClient.MySqlCommand("select * from fees_collect_category" + 
                 " where F_id = '" + DropDownList1.SelectedItem.Value + "' and C_id=" + DropDownList2.SelectedItem.Value + "'", conn)) 

注意: - 同樣作爲一個開發者,我不會建議你從這裏路過值要做到這一點,因爲它是危險的,容易SQL INJECTION

我寧願跟你走通過使用Parameterized queries

希望有助於和未來去參數化的,因爲它很容易和技術上的優先。

+0

前面缺少'+'謝謝大家。我發現我的錯誤。它很愚蠢! ;-) – Dee

1
protected void BindGridview() 
     { 
      String strConnString = ConfigurationManager 
       .ConnectionStrings["connstring_DETMIS"].ConnectionString; 
      String strQuery = "select * from student_details " + 
           "where [email protected]_Id and [email protected]_Id"; 
      MySqlConnection con = new MySql.Data.MySqlClient.MySqlConnection(strConnString); 

      MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand(); 
      cmd.Parameters.AddWithValue("@F_Id", 
       DropDownList1.SelectedItem.Value); 

      cmd.Parameters.AddWithValue("@C_Id", 
       DropDownList2.SelectedItem.Value); 

      cmd.CommandType = CommandType.Text; 
      cmd.CommandText = strQuery; 
      cmd.Connection = con; 
      try 
      { 
       con.Open(); 
       gvDetails.DataSource = cmd.ExecuteReader(); 

       gvDetails.DataBind(); 
      } 

      catch (Exception ex) 
      { 
       throw ex; 
      } 

     }