2017-06-07 108 views
0

Db names
Click on this Image to see search functionality如何在c#中實現搜索功能?

下面的代碼是用於搜索功能,請幫助我完成它,並建議選擇查詢[字符串的SQLSelect =「」]我應該把這裏完成我的搜索,如果你們有任何想法請與我分享我真的需要幫助在此先感謝..

protected void btn_search_Click(object sender, EventArgs e) 
{ 
    string status = dd_status.SelectedValue.Trim(); 
    string address = pacinput.Text.Trim(); 
    string prop_type = string.Empty; 
    foreach (ListItem item in DropDownCheckBoxes1.Items) 
    { 
     if (item.Selected) 
     { 
      prop_type += item.Value + ","; 
     } 
    } 
    string type = prop_type.Trim(); 
    string minbed = dd_minbed.SelectedValue.Trim(); 
    string maxbed = dd_maxbed.SelectedValue.Trim(); 
    string minprice = dd_minprice.SelectedValue.Trim(); 
    string maxprice = dd_maxprice.SelectedValue.Trim(); 
    string sqlSelect = ""; 
    SqlCommand cmd = new SqlCommand(sqlSelect, con); 
    SqlDataAdapter da = new SqlDataAdapter(cmd); 
    DataTable dt = new DataTable(); 
    da.Fill(dt); 
    Session["dt"] = dt; 
    Response.Redirect("property_list.aspx"); 
} 
+0

這是你的功課嗎?無論哪種方式,閱讀有關SQL注入預防。如果不知道數據庫中的表,字段名稱,我無法確定您的查詢應該是什麼樣子。考慮添加數據庫名稱。 – Karolis

+0

是大學項目.. – Bansi

+0

我已經添加了dbnames的圖像,請通過刷新頁面結帳 – Bansi

回答

0

正如評論中所述,請始終使用參數化查詢,以防止SQL注入。回到你真正的問題,你應該開始一個查詢字符串,它給你整個結果集。此外,根據用戶輸入不斷輸入過濾器並延長您的查詢:

var sql = new StringBuilder(); 

//This will select all records from your table 
sql.Append("SELECT FROM YOUR TABLE WHERE 1=1"); 

// Check your conditions here 
if (dd_status.SelectedValue != null) //Or some other condition 
    sql.Append(" AND STATUS = @status"); 
// ... and so on for each filter 

//Finally with your sql command add necessary parameters 
using (SqlCommand cmd = new SqlCommand(sql.ToString(), conn)) 
{ 
    if (dd_status.SelectedValue != null) 
     cmd.Parameters.AddWithValue("@status", dd_status.SelectedValue); 
    // ... and so on for each filter 
} 
+0

如果所有字段都選擇了 – Bansi

+0

,那麼您不需要檢查只需添加所有參數及其值。參見[This](https://stackoverflow.com/questions/13600179/parameterized-sql-query-asp-net-c-sharp) –

+0

if(statusFilter)??? – Bansi

相關問題