c#从数据库等数据源读取出的值类型的数据为null时,要怎么赋值

问题描述

我是菜鸟,如题当我从一个数据表中得到数据,如果这个数据是值类型的,比如money,int,single等,而这个数据随时都有可能是空值,(先不考虑客户的使用习惯或输入数据时控制其不为空)从表中获取的值为空时,怎么给textbox赋值。不知道大家能明白我说的,谢谢!代码如下:datatabledt_book=XXXX;//具体不写了表示表中有数据了varQuery=frombookindt_book.AsEnumerable()selectbook;foreach(variteminchongfuProductQuery){txtBookPrice.Text=item.Field<double>("price");txtBookNumber.Text=item.Field<Int32>("number");//如类似的赋值都有可能为空,那就是会出错,//没办法,我就改代码为这样:txtBookPrice.Text=item.Field<object>("price");txtBookNumber.Text=item.Field<object>("number");//因为object是基类,那就允许为空了,这样没问题//但object会有频繁拆、装包的问题,影响效率,不知道大家都是怎么做的,谢谢!}

解决方案

解决方案二:
item.price==null||""?"0":item.price;if(!string.IsNullOrEmpty(item.price))txtBookPrice.TextelsetxtBookPrice.Text="0";
解决方案三:
foreach(DataRowrowintable.Rows){objectvalue=row["ColumnName"];if(value==DBNull.Value)//dosomethingelse//dosomethingelse}

解决方案四:
判断一下取出的值是不是为null,如果为null可以赋值空字符串
解决方案五:
txtBookPrice.Text=item.Field<double?>("price");

时间: 2024-10-29 06:15:14

c#从数据库等数据源读取出的值类型的数据为null时,要怎么赋值的相关文章

注册表-vb.net 制作安装包数据库配置和读取**.exe.config的问题!

问题描述 vb.net 制作安装包数据库配置和读取**.exe.config的问题! 尊敬的各位大牛,你们好: 本人小白实习生一枚,最近PM将一个任务交到我手上,说让我独立完成.至目前为止,大部分工作已经完成,可是还有最后一点,一直卡着过不去.各位同僚前辈们有没有之前做个这方面的任务的,希望您可以不吝赐教!后学晚辈在此感激不尽! 问题描述: 公司给客户做的一个Demo,全部都完成了,现在就剩下安装包的制作,用的是VS自带的打包工具.按照经理的说法,需要在安装的时候动态的配置数据库,这其中就牵扯到

不关闭WINFORM下对数据库复制操作,出异常:正由另一进程使用,因此该进程无法访问此文件。

问题描述 我做了个WINFORM程序,里面有个DataGridView,可以获取SQL数据库的数据,并显示出来.现在想做个数据库备份功能,就是对数据库文件MDF和LDF两个文件进行拷贝操作,但只要WINFORM程序一开始运行,对这个文件的读取FileStreamfs=File.OpenRead(文件路径);这句话就会出IO异常:正由另一进程使用,因此该进程无法访问此文件.但只要关了WINFORM,就可以对他目录下的数据库文件随便复制粘贴了.麻烦大家帮忙想想办法,在不关闭WINFORM前提下对那两

在JBoss中配置多个数据库和数据源

JBoss是一款非常强大的J2EE应用程序服务器,但是这种强大的功能也带来了复杂性.本文作者Marcus Zarra分析了如何在JBoss中配置多个数据库以及数据源. 配置数据源 JBoss的默认安装过程总共有三种配置选项:所有的(all).默认的(default)和最小的(minimal).如果你第一次启动JBoss服务器的时候没有附带任何参数,它自然就运行了默认配置.如果需要运行其它的配置,就必须使用-C参数运行启动脚本,如下所示: ${JBOSS.ROOT}/bin/run.sh -c m

Asp.net中图片存储数据库以及页面读取显示通用方法详解

前端碰到对在一个系统遇到流程控制中需要存储在数据库存储一个签名图片的问题-一 直控制不好, 今天特别关于这个问题详细看了一下.其实这个问题网上资源还是相当多的, 但问题是过于凌乱 资料残缺不全 甚至我感觉其中有相当的一部分会对读者产生一些误导 .对于Asp.net中存储图片我在08年一月份就做了一个详细解决方案,今天在这个基础主要 对一些细节控制上以及页面显示上做了完善,详细步骤如下: 首先声明一下开发环境:VS2008+SQL2005数据库+.NET FrameWork 3.5版本 (1)存储

sql2005-为什么DreaweaverCS4中链接数据库是数据源名称不能选择

问题描述 为什么DreaweaverCS4中链接数据库是数据源名称不能选择 想用DreaweaverCS4链接SQL2005IIS和数据源(ODBC)都已经设置好了,但是在DreaweaverCS4链接数据库是,数据源名称下来菜单什么也没有,选择"定义"之后也没反应,求帮助,谢谢啦 解决方案 就是这样

kindeditor sql-asp.net:怎么把kindeditor编辑器的图文保存到sqlserver 数据库,并读取

问题描述 asp.net:怎么把kindeditor编辑器的图文保存到sqlserver 数据库,并读取 kindeditor存在于一个产品发布页面,主要用于批量上传产品的介绍图片,功能类似于淘宝的"发布宝贝",但是,我不知道该怎么把上传的图片保存到SqlServer2008数据库中,以便在用户点击产品的时候该产品的介绍图片能从数据库中读取.希望能得到详细地解答,不胜感激~

powerbuilder+access数据库,powerbuilder读取access数据库,存在延迟

问题描述 powerbuilder+access数据库,powerbuilder读取access数据库,存在延迟 一个C/S的客户端向access数据库写入数据,写入成功后,powerbuilder立即读取该access数据库,但是读取的过程中有两秒以上的延迟,求高手指点原因???????asp做的网页版的页面读取该access数据库,并不存在延迟的问题.求高手指点呀,为什么网页版读取该数据库没有延迟,而powerbuilder读取该数据库 存在延迟现象呢?????????? 解决方案 写入数据

buffer-将读取出的文件内容,分成多个部分,每个部分都是40字节发送,现在每次只发送了前40个字节的内容。

问题描述 将读取出的文件内容,分成多个部分,每个部分都是40字节发送,现在每次只发送了前40个字节的内容. 将读取出的文件内容,分成多个部分,每个部分都是40字节发送,现在无法遍历到所有的内容,每次只发送了前40个字节的内容,请帮忙看看哪里的问题,谢谢. String content = FileUtil.readFile(data);// 读取文本文件内容 // 将读取出的文件内容,分成多个部分,每个部分都是40字节发送 int number=40; byte[] buffer = new b

求些关于数据库,数据源,dataservice,Calcite通俗点的理解。

问题描述 求些关于数据库,数据源,dataservice,Calcite通俗点的理解. 学习开发不久,遇到些问题想不明白.或许是我比较死板. 比如,在不使用框架的时候,我们用className...conn...等等,获取数据库连接. 我们用sql语句就能从数据库中获取数据.在框架中,却出现了数据源连接池这样的概念. 问题1:我们在用className...conn...这类方式获取连接时,数据源,连接池分别在哪? 问题2:数据源与连接池的作用:在sql请求发送到数据库中,这些东西起了怎样的作用