2014-01-09 58 views
0

我有不同的列,名爲bit_SocietyTypeBunglow,bit_SocietyTypeFlat等用作標誌。現在我想爲所有設置爲true的標誌(即等於1)檢索適當的名稱('Bungalow','Flat'等),作爲我可以在我的程序的組合框中使用的列表。在組合框中顯示來自數據庫的位值

這是我試過的,但它給我的名字是colums,而不是行。

BEGIN 
    SELECT 
     CASE WHEN bit_SocietyTypeBunglow = 1 THEN 'Bunglows' ELSE NULL END AS Bunglow, 
     CASE WHEN bit_SocietyTypeFlat = 1 THEN 'Flats' ELSE NULL END AS Flat, 
     CASE WHEN bit_SocietyTypePent = 1 THEN 'Pent Houses' ELSE NULL END AS Pent_House, 
     CASE WHEN bit_SocietyTypeRow = 1 THEN 'Row Houses' ELSE NULL END AS Row_House 
    FROM tblSocietyDetail WHERE str_SocietyName = @strSocietyName 

其實我的表和它的列是這樣的: table data

,我想我的組合來填充這樣的: combobox

我使用存儲過程來寫這個查詢

+0

可能重複:http://stackoverflow.com/questions/2767352/c-sharp-convert-bit-to-boolean –

+1

難道你到目前爲止嘗試_anything_? –

+0

BEGIN \t \t SELECT \t CASE WHEN bit_SocietyTypeBunglow = 1 THEN 'Bunglows' ELSE NULL END AS Bunglow, \t \t CASE WHEN bit_SocietyTypeFlat = 1 THEN '公寓' ELSE NULL END爲平坦, \t \t CASE WHEN bit_SocietyTypePent = 1 THEN'被壓抑的房子ELSE NULL END AS Pent_House, \t \t CASE WHEN bit_SocietyTypeRow = 1,則 '排房子' ELSE NULL END AS Row_House \t \t FROM tblSocietyDetail \t \t WHERE str_SocietyName = @strSocietyName結束時,我已經特里d這個,但它只回顧第一行,即組合框中的'bunglows' – Omkar

回答

1

讓我們看看我是否正確理解你。如果社會只有這兩個,你想在你的組合框中輸入「Flats」和「Pent Houses」。爲了讓每個條目記錄,你將不得不選擇表中多次:

SELECT 'Bunglows' 
FROM tblsocietydetail 
WHERE str_societyname = @strSocietyName 
     AND bit_societytypebunglow = 1 
UNION 
SELECT 'Flats' 
FROM tblsocietydetail 
WHERE str_societyname = @strSocietyName 
     AND bit_societytypeflat = 1 
UNION 
SELECT 'Pent Houses' 
FROM tblsocietydetail 
WHERE str_societyname = @strSocietyName 
     AND bit_societytypepent = 1 
UNION 
SELECT 'Row Houses' 
FROM tblsocietydetail 
WHERE str_societyname = @strSocietyName 
     AND bit_societytyperow = 1; 
+0

這正是我想要的,非常感謝。它真的讓我很受傷。 :-)再次感謝 – Omkar

+0

你可以通過將我的答案標記爲接受:-)來幫助我很多 –

相關問題