2015-06-11 69 views
2

我有兩個表... ITEM和STOREITEMSQLITE內連接的Windows Phone 8

ITEM columns --ITMID_PK,ITMNAME, description ,iCON 

STOREITEM columns --ITMID_FK,PRICE 

在列表框檢索項目表的數據,列出和存儲。我按照這個

List<ITEM> retrievedlist = sqlconn.query<ITEM>("select * from ITEM").ToList<ITEM>(); 

    foreach (var t in retrievedlist) 
     { 

      listbox.Items.Add(t); 
     } 

這完全適用於單個表

現在 我需要執行INNER在後面的代碼(C#)JOIN這兩個表..

我曾嘗試是。 。

List<STOREITEM> retrievedlist = sqlconn.Query<STOREITEM>("select ITEM.ITMNAME,ITEM.ICON,STOREITEM.PRICE FROM ITEM INNER JOIN STOREITEM ON ITEM.ITMID_PK=STOREITEM.ITMID_FK ORDER BY ITMNAME").ToList<STOREITEM>(); 

它只返回基於STOREITEM列,我們給STOREITEM除了查詢方法..

,所以我想這太

List<ITEM> retrievedlist = sqlconn.Query<ITEM>("select ITEM.ITMNAME,ITEM.ICON,STOREITEM.PRICE FROM ITEM INNER JOIN STOREITEM ON ITEM.ITMID_PK=STOREITEM.ITMID_FK ORDER BY ITMNAME").ToList<ITEM>(); 

它只返回基於項目列...即使查詢方法..已INNER JOIN查詢

下一個不會工作,因爲它在參數無效查詢方法(列爲類中查詢<兩個表的名稱>)

List<ITEM,STOREITEM> retrievedlist = sqlconn.Query<ITEM>("select ITEM.ITMNAME,ITEM.ICON,STOREITEM.PRICE FROM ITEM INNER JOIN STOREITEM ON ITEM.ITMID_PK=STOREITEM.ITMID_FK ORDER BY ITMNAME").ToList<ITEM>(); 

請幫我看看這個.. 查詢的數據應該存儲在列表中,然後該列表應添加爲項目列表框.. 任何幫助表示讚賞...

回答

2

創建一個類,它具有來自這兩個類的屬性,並使用該類。在你的情況下,它會有ITMID_PK,ITMNAME,說明,iCON和PRICE。只需保持屬性名稱與列名稱相同即可。這個類可以是這兩個類的獨立類或基類。

編輯:您可以創建一個類這樣

public class Class1 
{ 
    public string ITMID_PK { get; set; } 
    public string ITMNAME { get; set; } 
    public string description { get; set; } 
    public string iCON { get; set; } 
    public string PRICE { get; set; } 

} 

修改查詢:

List<Class1> retrievedlist = sqlconn.Query<Class1>("select ITEM.ITMNAME,ITEM.ICON,STOREITEM.PRICE FROM ITEM INNER JOIN STOREITEM ON ITEM.ITMID_PK=STOREITEM.ITMID_FK ORDER BY ITMNAME").ToList<Class1>(); 
+0

來填充新類..我需要寫如上所述的類似的查詢.. @Nishi –

+0

它將與只更改類名相同:列表 retrievelist = sqlconn.Query (「select ITEM.ITMNAME,ITEM.ICON,STOREITEM.PRICE FROM ITEM INNER JOIN STOREITEM ON ITEM.ITMID_PK = STOREITEM.ITMID_FK ORDER BY ITMNAME」)ToList (); – Nishi

+0

我還需要從STOREITEM中獲得一列......查詢中提到的只返回ITEM表的列..... –

0

嘗試..this ..它的工作原理..

List<NEW_CLASS> retrievedlist = sqlconn.Query<NEW_CLASS>("select ITEM.ITMNAME,ITEM.ICON,STOREITEM.PRICE FROM ITEM INNER JOIN STOREITEM ON ITEM.ITMID_PK=STOREITEM.ITMID_FK ORDER BY ITMNAME").ToList<NEW_CLASS>(); 
+0

雖然這可能會回答問題,並且只允許使用代碼答案,但您應該在代碼中包含註釋和/或包含其他說明以改進答案,並使SO社區變得更加清晰。 – JNYRanger