none
sql中判断读出的参数是否为空 RRS feed

  • 问题


  •                 using (SqlDataReader sdr = cmd.ExecuteReader())
                    {
                        while (sdr.Read())
                        {
                            Class盘存表Model cpm = new Class盘存表Model();
                            if (sdr["名称"]!=DBNull)
                                cpm.名称 = Convert.ToString(sdr["名称"]);
                            if (sdr["型号"]!=DBNull)
                                cpm.型号 = Convert.ToString(sdr["型号"]);
                            if (sdr["单价"]!=DBNull)
                                cpm.单价 = (float)(sdr["单价"]);
                            if (sdr["上月数量"]!=DBNull)
                                cpm.上月数量 = Convert.ToInt32(sdr["上月数量"]);
                            if (sdr["上月金额"]!=DBNull)
                                cpm.上月金额 = (float)(sdr["上月金额"]);
                            if (sdr["收入数量"]!=DBNull)
                                cpm.收入数量 = Convert.ToInt32(sdr["收入数量"]);
                            if (sdr["收入金额"]!=DBNull)
                                cpm.收入金额 = (float)(sdr["收入金额"]);
                            if (sdr["支出数量"]!=DBNull)
                                cpm.支出数量 = Convert.ToInt32(sdr["支出数量"]);
                            if (sdr["支出金额"]!=DBNull)
                                cpm.支出金额 = (float)(sdr["支出金额"]);
                            if (sdr["结存数量"]!=DBNull)
                                cpm.结存数量 = Convert.ToInt32(sdr["结存数量"]);
                            if (sdr["结存金额"]!=DBNull)
                                cpm.结存金额 = (float)(sdr["结存金额"]);
                            if (sdr["时间"]!=DBNull)
                                cpm.时间 = Convert.ToDateTime(sdr["时间"]);
                            if (sdr["录入时间"]!=DBNull)
                                cpm.录入时间 = Convert.ToDateTime(sdr["录入时间"]);
                            lst.Add(cpm);
                        }
                        sdr.Close();
    我想实现上面伪代码 判断字段“名称”不为空时赋值,该如何改上面的两句话
    错误提示:所有DBNull 处 “System.DBNull”是“类型”,但此处被当做“变量”来使用 
    2009年10月25日 8:24

答案

  • if (sdr["名称"]!= DBNull.Value)
    	cpm.名称 = Convert.ToString(sdr["名称"]);

    知识改变命运,奋斗成就人生!
    • 已标记为答案 ww-air 2009年10月25日 8:55
    2009年10月25日 8:37
    版主