首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在.Net 2.0中,如何识别数据库中的值是否为null?

在.Net 2.0中,如何识别数据库中的值是否为null?
EN

Stack Overflow用户
提问于 2011-06-20 19:33:22
回答 4查看 77关注 0票数 1

我正在从数据库中获取数据并将其填充到域object.Lets中

代码语言:javascript
复制
    public class A
    {
        int? ai;

        public int? AI
        {
            get { value = ai;}
            Set { ai = value; }

        }

    }

所以我在主类中创建域对象。

代码语言:javascript
复制
    class TestClass
    {
        static void Main(string[] args)
        {
            class A objData = new A();
    // here some logic for creating connection to the database and calling the datareader to fetch the //data.
        int temp =(int) objDataReader["aiDAta"];
        objData.ai = temp == null? 0: temp;
        func(objData);

     }
    }

public void func(A objData)
{

// Here i want to display the value of  objData.ai only if its database value is not null.since i was   //already assigned 0,if the value from the database is null...how can i able to identify whether the value  //from the database is null or not? also,In database "aiDAta" will have the value range from 0 - 99.
}

}

这里我只想显示objData.ai的值,如果它的数据库值不是null.since,我已经被分配了0,如果数据库中的值是null...how,我能识别数据库中的值是否为空吗?另外,在数据库"aiDAta“中,值的范围是0- 99。

EN

回答 4

Stack Overflow用户

发布于 2011-06-21 03:43:44

将objData.ai与

代码语言:javascript
复制
DBNull.value

而不是NULL

检查

代码语言:javascript
复制
IsDBNull(objData.ai)

代码语言:javascript
复制
public Int32 TryCastInteger32(object value)
{
    if (value != null && !Information.IsDBNull(value)) {
        Int32 retVal = default(Int32);
        if (Int32.TryParse(value.ToString(), out retVal)) {
            return retVal;
        }
    }
    return 0;
}
票数 2
EN

Stack Overflow用户

发布于 2011-06-20 19:36:52

如果强制转换为Nullable,则检查HasValue属性。仅当值类型不为空时才为真。

票数 1
EN

Stack Overflow用户

发布于 2011-06-20 20:10:20

通常将空DB字段作为System.DbNull返回,在这种情况下,以下转换将失败:

代码语言:javascript
复制
int temp =(int) objDataReader["aiDAta"]; 

在使用之前,可以使用DBDataReader's IsNull方法检查是否为空值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6410503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档