2014-02-13 85 views
1

這可能很簡單,也已經回答過,但我不知道如何尋找確切的方法。如何從'distinct'列中獲取值?

- >我的表單中有兩個列表框。一個是產品名稱,另一個是公司名稱。

- >在頁面加載時,Listbox1將從database(Product name)檢索值。從listbox1中選擇一個項目後,應在listbox2中提取相應的公司名稱。

對於如:數據庫名稱是汽車

這裏被命名爲 「註冊」 我的表,它包含兩列他們,

Productname  Companyname 

Car     Bmw 
Bike    Bmw 
Car     Honda 
Bike    Honda 

我的問題是

我檢索到產品名稱詳細信息到listbox1,這裏的事情是我不想重複相同的項目,所以我用這樣的Distinct,

Select Distinct Productname from Register 

現在,如果我從列表框中選擇1車那麼相應的公司名稱應該是listbox2顯示。但是,我的列表箱2上只有本田,並沒有獲得寶馬。

我可以猜測這些事情的發生只是因爲'不同'。但我不知道如何做到這一點。希望不會讓你困惑。因此,任何幫助都會對我更有幫助,並提前致謝。

更新

select Companyname from Register where Productname='"+listbox1.selecteditem+"' 

這是用來檢索值到listbox2查詢。我使用datareader來讀取和獲取值。

+0

您能否提供您用於提取公司名稱的查詢? –

+0

我已添加查詢@VitapRamdevputra – gkrishy

+0

不是那個,提供您正用於檢索公司名稱時查詢產品名稱的查詢, – Gurunadh

回答

0

假設你有一個稱爲數據庫的表!用(產品名稱,公司名稱)
查詢的結構來獲取產品的名稱(在頁面加載)是

Select Distinct Productname from database 

在選定的項目上ListBox1的改變,你需要波紋管運行查詢來獲取公司名稱和填充 Listbox2:

Select Distinct Companyname from database where UPPER(Productname) = UPPER(Listbox1.selectedItem) 

你需要調查的是Listbox1.selectedItem,如果你得到了一些有線的結果。

+0

我已經嘗試過這一點。我可以找回本田,但我沒有得到寶馬。我需要顯示所有與特定產品名稱鏈接的公司。我希望你現在明白。 – gkrishy

+0

Listbox1.selectedItem的值是什麼? –

+0

正如我上面提到的,我使用不同的檢索值到列表框1。所以我只會有汽車和自行車。如果我選擇汽車,那麼listbox2應該檢索與選定產品名稱匹配的公司名稱(BMW和Honda)。 – gkrishy

0

幾乎所有我知道的事情:
i)可能你是使用Datareader(1)而不是以datareader(0)開頭。
ii)嘗試使用數據表並檢查是否獲取數據表對象中的所有值。
III)的代碼沒有工作對我來說,我試圖把雙方在同一個表中,並與下面的查詢中的列(產品和公司)..

"Select Distinct(Companyname) Company from DatabaseTable where Productname = '"+Listbox1.selectedItem.text+"'"; 

Ive得到輸出,你需要..