2016-07-14 31 views
0

我的數據庫就是這樣的。ASP.NET DropDownList來自數據庫的重複值

Vehicle Make | Vehicle Model 
----------------------------- 
Toyota  | AQUA 
HONDA  | FIT 
Toyota  | Prius 

DropDownList1,填充像這樣。

using (SqlConnection con = new SqlConnection(constring)) 
{ 

    SqlDataAdapter adapter = new SqlDataAdapter("SELECT VehicleMake FROM VehicleDB", con); 
    adapter.Fill(subjects); 

    con.Open(); 


    DropDownList1.DataSource = subjects; 
    DropDownList1.DataTextField = "VehicleMake"; 
    DropDownList1.DataValueField = "VehicleMake"; 
    DropDownList1.DataBind(); 

    con.Close(); 

} 

但由於我有重複的數據(2豐田),它也顯示他們在DropDownList也。

是否可以過濾,只有1豐田?

-PS

我需要它添加我的數據庫,因爲有可能更多的車輛進行過補充。

回答

3

當然,你可以使用DISTINCT

SqlDataAdapter adapter = new SqlDataAdapter("SELECT DISTINCT VehicleMake FROM VehicleDB", con); 

你可能要添加一個ORDER BY太:

string sql = @"SELECT DISTINCT VehicleMake 
       FROM VehicleDB 
       ORDER BY VehicleMake ASC"; 
using(var adapter = new SqlDataAdapter(sql, con)) 
{ 
    // ... 
} 
+0

是的!謝謝。有效! –

0

首先你可以改變你的查詢「SELECT VehicleMake FROM VehicleDB其中VehicleMake <> 'FIT豐田'「和改變查詢不是你的選擇那麼你可以做這樣的事情

var subjects= ds.Tables["VehicleDB"]; 
adresse.DefaultView.RowFilter = "VehicleMake LIKE '%TEST%'"; 

DropDownList1.DataSource = subjects; 
DropDownList1.DataTextField = "VehicleMake"; 
DropDownList1.DataValueField = "VehicleMake"; 
DropDownList1.DataBind(); 

甚至這不會工作應用LINQ - for數據表的循環

相關問題