今天在開發時,要使用到外連接配接查詢,如圖
老是查不出資料,是以就追蹤了一下代碼,發現查詢後生成的SQL語句變成了内連接配接了,真是暈
然後繼續Debug,發現原來SqlQuery類在調用LeftInnerJoin函數時傳入的Join.JoinType.LeftInner參數,并沒有被CreateJoin函數使用上,如下圖
是以趕快修改為type,見圖
心想應該可以了吧......繼續執行程式,發現還是沒有查詢出資料來~~~真是郁悶......繼續Debug,發現SQL語句還是有問題,見圖
語句中多了一個INNER,是以查詢直接爆錯退出了,繼續跟蹤Debug,但是找來找去都沒有發現在哪裡組合語句的,@_@
認真研究了一下,發現是從Join類的GetJoinTypeValue函數傳回連接配接字元串的,如下圖
就嘗試修改了一下傳回的字串,見圖
最後執行程式,生成的SQL語句終于正常了
這個Bug其實并不是很複雜,隻要多使用Debug跟蹤,多嘗試修改(就算改錯了也無所謂),才能找出問題所在
本文轉自 AllEmpty 部落格園部落格,原文連結:http://www.cnblogs.com/EmptyFS/p/3335311.html,如需轉載請自行聯系原作者