如果DBNull的声明 [英] DBNull if statement

查看:113
本文介绍了如果DBNull的声明的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图执行一个存储过程,然后使用if语句来检查空值,我的短来了。我是一个VB的家伙,所以请与我裸露,如果我做一个小学生语法错误。

I'm trying to execute a stored procedure and then use an if statement to check for null values and I'm coming up short. I'm a VB guy so please bare with me if I'm making a schoolboy syntax error.

objConn = new SqlConnection(strConnection);
objConn.Open();
objCmd = new SqlCommand(strSQL, objConn);
rsData = objCmd.ExecuteReader();
rsData.Read();

if (!(rsData["usr.ursrdaystime"].Equals(System.DBNull.Value)))
        {
            strLevel = rsData["usr.ursrdaystime"].ToString();

        }



这是否让我检查SQL连接是否返回只是一个值,这样的话我的填充字符串?

Would this allow me to check whether the SQL connection is returning just a value and if so then populating my string?

我如果正在返回我曾经能够只是检查下面看到一个值,不知道我M用C#做正确

I'm used to being able to just check the below to see if a value is being returned and not sure I'm doing it correctly with C#

如果不IsDBNull以便(rsData(usr.ursrdaystime))

If Not IsDBNull(rsData("usr.ursrdaystime"))

任何帮助,将不胜感激!

Any help would be appreciated!

推荐答案

这应该工作。

if (rsData["usr.ursrdaystime"] != System.DBNull.Value))
{
    strLevel = rsData["usr.ursrdaystime"].ToString();
}



还需要使用语句添加,如波纹管:

also need to add using statement, like bellow:

using (var objConn = new SqlConnection(strConnection))
     {
        objConn.Open();
        using (var objCmd = new SqlCommand(strSQL, objConn))
        {
           using (var rsData = objCmd.ExecuteReader())
           {
              while (rsData.Read())
              {
                 if (rsData["usr.ursrdaystime"] != System.DBNull.Value)
                 {
                    strLevel = rsData["usr.ursrdaystime"].ToString();
                 }
              }
           }
        }
     }

这会全自动处理块{..}之外(关闭)的资源。

this'll automaticly dispose (close) resources outside of block { .. }.

这篇关于如果DBNull的声明的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆