【发布时间】:2008-11-25 19:24:12
【问题描述】:
我有一个保存用户可选配置文件的数据库。在配置文件中,我有字符串、char(用于 M 或 F)和 ints。
我遇到了一个问题,我尝试将用户的性别放入我的 Profile 对象的属性中,但应用程序崩溃了,因为它不知道如何处理返回的空值。
我已经尝试将数据转换为适当的类型
char sex = (char)dt.Rows[0]["Sex"];
这并没有解决我的问题。然后我尝试将类型更改为 Nullable 和 Nullable 并得到相同的转换问题。我目前能够找到的解决方案如下:
object.sex = null;
if(dt.Rows[0]["Sex"] != DBNull.Value)
object.sex = (char)dt.Rows[0]["Sex"];
object.WorkExt = null;
if(dt.Rows[0]["WorkExt"] != DBNull.Value)
object.WorkExt = (int)dt.Rows[0]["WorkExt"];
有没有更简单或更好的方法来做到这一点?还是我几乎走在正确的轨道上?
【问题讨论】:
标签: c# sql-server dbnull