2011-12-29 17 views
0

我正在使用Facebook C#SDK,但沒有重載的方法傳遞兩個查詢作爲參數。我怎樣才能合併兩個查詢?如何在C#中使用Facebook SDK合併兩個查詢?

我喜歡這個查詢我有兩個查詢一個檢索名稱和第二個是獲取信息,所以我想顯示的姓名和消息發送到我的應用程序,但FQL deosn't支持加入,都讓我怎麼能做到這一點如。

var Query1 = fbApp.Query("SELECT uid, name, pic_square FROM user WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"); 

var newsFeed = fbApp.Query("SELECT post_id, actor_id, target_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidden = 0"); 

我該如何得到結果名稱 - >消息。 Thanky你.. !!

+0

你能解釋一下你要在細節做什麼? – JohnJohnGa 2011-12-29 12:11:19

+0

你好我已經添加了我的查詢只是看看它應該清除你的問題。 – 2011-12-29 12:19:46

+0

如果您需要命名查詢,檢查解決方案在這裏:[http://stackoverflow.com/questions/11681786/fql-multiquery-query-syntax-when-passing-as-parameter][1] [1]:http://stackoverflow.com/questions/11681786/fql-multiquery-query-syntax-when-passing-as-parameter – 2012-07-27 17:13:45

回答

0

我在我的應用程序中使用multiquery。你所做的是將一個字符串[]數組傳遞給.Query()命令。

"SELECT uid, page_id, type FROM page_admin WHERE uid = " + id 

"SELECT uid, read_stream, status_update, photo_upload, publish_stream, offline_access FROM permissions WHERE uid IN (SELECT page_id FROM #query0)" 

你沒有得到命名的查詢,他們來通過C#API prenamed。請注意這是#query0,#QUERY1等..

當你找回數據,這裏就是我的分析是:

var pageAdmins = multiqueryResults[0].fql_result_set; 
var permissions = multiqueryResults[1].fql_result_set; 
+0

這很好,但我的問題是我有兩個查詢權利,我想顯示我的結果作爲名稱 - >屬於消息,所以用戶可以理解誰已經註釋了這條消息,所以問題是用戶表有名稱和流有消息我怎麼可以管理這個。 – 2011-12-30 06:48:00

+0

您將需要通過編程方式將它們與循環合併。在uid上加入actor_id。 – DMCS 2011-12-30 14:26:55