2013-10-14 49 views
0

我有一個筆記本電腦類,用於學習目的和數據庫中的幾個表:生產者,顏色,類型是字典表(如ID,名稱)和實際的筆記本電腦表。將對象屬性翻譯成字典表中的人性化字符串

我的筆記本電腦桌看起來是這樣的:

MODEL | PRODUCER | COLOR | TYPE 
------------------------------- 
ABC1 |  1 | 2 | 1 
XYZ |  2 | 1 | 1 

其他表看起來是這樣的(顏色表爲例):

ID | NAME 
--------- 
1 | red 
2 | green 

我的類屬性有: 模型 - 字符串, 製片人 - int, color - int, type - int。

我的問題是:當我從數據庫獲取筆記本電腦對象,我想用它們填充組合框時,我檢索它們的方式並不真正人性化。我想將所有這些ints從db轉換爲字符串來獲取類似的內容。

ABC1 - 戴爾 - 黑 - 標準 - $ 30

如何解決這個問題?特殊方法?特殊課程?我希望我解釋得很好。謝謝。

編輯

確定,所以要清楚,當我得到我的筆記本電腦對象從我用簡單的選擇查詢select model, producer, color, type from laptop 而作爲結果,我得到一個模型串行和屬性作爲整數的其餘部分,然後我創建一個對象。如果使用加入select laptop.model, producer.name, color.name, type.name from ... laptop join producer on laptop.producer = producer.id ...等 我得到的結果是所有字符串不符合我的類結構。 解決這個問題的最佳做法是什麼?

+1

看看'INNER JOIN','LEFT JOIN'等關鍵字。很難給你一個完整的答案。我可以嘗試,但是這會給你一個具體的解決方案(不確定是否因爲你沒有詳細說明表的其餘部分的結構),但最好的是你學習了這些關鍵字和T-SQL語法的用法並能夠做你想做的一切。祝你好運! –

+0

您可以使用枚舉將數字保存在數據庫中,併爲用戶顯示用戶友好的文字。 – Leron

+0

我知道我必須使用連接,問題是我的類的結構(主要是整數),我應該在哪裏存儲從我的連接語句中獲得的字符串? – user2832281

回答

0

有很多種方法可以做到這一點。例如,您可以加入字典表以返回所需的列,例如顏色的名稱而不是ID。或者你可以懶惰評估,例如有一個colorName的get方法,它從數據庫中檢索這一行的值。儘管惰性評估可能會嚴重影響性能,因此您可以將字典表檢索到Dictionary或等效字典中,並在內存中查找它們。

相關問題