2013-02-13 44 views
1
的一個細胞加入不同領域的數據

我使用下面的SELECT語句的GridView:SELECT語句的問題 - 在GridView的

SelectCommand="SELECT ID, Date, Train, I_R, Dir_Ind, Detn, Rly, DiV, Loco, Shed, locoClass, loco_type, 
(maj_sch_type + ','+ ' ' + maj_sch_place +',' +' '+ (CAST(maj_sch_dt as VARCHAR(11)) + ' '+'/' 
+ ' ' + min_sch_type +',' + ' ' + min_sch_place + ',' + ' '+(CAST(min_sch_dt as VARCHAR (11))))) as "major", 
Equipt, I_R, reason 
FROM PunctualityMain Order by Date ASC" 

通過上述,我正在從單細胞結果6(3 + 3)

POH, KPA, Jan 2 2012/IB, Shed, Apr 18 2012 

問題SQL數據的不同字段是這個,每當在任何一組3個字段的數據(之前或之後「/」)是空白的,的GridView細胞是保持完全空白。如果上面提到的是,具有比Gridview顯示數據的兩組字段都OK。可以修改SELECT語句以在Gridview中顯示任何一組字段爲空的數據嗎?

+0

你嘗試過打破此select語句到子查詢?您可以設置where子句來檢查空白結果。 只是一個過去的想法(又名,我真的不知道什麼是錯的)。 – AlexLordThorsen 2013-02-14 03:26:12

回答

0

如果嘗試將空字符串與非空字符串連接,結果將爲空。

Select NULL + 'test' 

這將返回NULL。

此外,我認爲你的代碼沒有複製粘貼到你的問題非常好,但你需要使用ISNULL()函數。我認爲你可以明白這一點。您可能需要稍微清理一下代碼才能運行。只是包裝你與ISNULL串聯各個領域(MyField的, '')

SELECT 
    ID, 
    Date, 
    Train, 
    I_R, 
    Dir_Ind, 
    Detn, 
    Rly,  
    DiV, 
    Loco, 
    Shed, 
    locoClass, 
    loco_type, 
    (isnull(maj_sch_type, '') + ', ' + isnull(maj_sch_place, '') +', '+ (isnull(CAST(maj_sch_dt as VARCHAR(11), '')) + '/' + isnull(min_sch_type, '') +', ' + isnull(min_sch_place, '') + ', '+ (isnull(CAST(min_sch_dt as VARCHAR (11)), '')))) as "major", 
    Equipt, 
    I_R, 
    reason 
FROM PunctualityMain 
Order by Date ASC 

參考

+0

它正在工作。非常感謝你。 – user1185088 2013-02-17 09:12:10