sql查詢自定義列值爲空(select 'xxx' as name)處理[插入自定義列]

前幾天在做代碼時,遇到這樣一個問題:

 在查詢返回一個dt時,進行判斷,如果爲空的話,要給結果集加上默認的一行,其中初始幾個必須的字段,獲得新的dt.

如下:

           string selSQL = "select DWID,to_char(fssj,'yyyy-mm-dd hh24:mi:ss') as FSSJ,BGR from xx ";

            DataTable dt = dbHelpSql.Query(selSQL);

            //如果dt爲空,即是首次添加尚未生成初始報告,則取事件表中的單位ID加入結果表中

            if (dt == null || dt.Rows.Count <= 0)

            {

              string selSQL_i = string.Format("select 'aa' as DWID,'{0}' as FSSJ,'aa' as BGR from xx where rownum=1", DateTime.Now.ToString());

                dt = dbHelpSql.Query(selSQL_i);

             }

此上面有時候可以,有時不行,後來才發現,當數據庫表中如果有數據時,dt纔會有返回值,如果表中爲空,則 'xxx' as 字段的方法則返回值爲空。

因爲此種方法不可行,需要往空的dt源裏,插入一行自定義的行:

        if (dt == null || dt.Rows.Count <= 0)

            {

                DataRow dr = dt.NewRow();

                dr[0] = dwiddt.Rows[0]["dwdm"].ToString();

                dr[1] = DateTime.Now.ToString();

                dt.Rows.Add(dr);

         }

在此行中不定義的列是空值。既不需要的列不用初始化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章