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);

         }

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值