VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2163|回复: 12

DBNull问题

[复制链接]

1

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-2-19 19:00:01 | 显示全部楼层 |阅读模式
数据库:
CREATE procedure UserIsExict
@Uid binary(30),
@UserName binary(30) output
as
select @UserName=UserName from AlbumLogin where Uid=@Uid
GO
程序:
SqlCommand cmd = new SqlCommand("UserIsExict",conn);
        cmd.CommandType = CommandType.StoredProcedure;

        cmd.Parameters.Add(new SqlParameter("@Uid", SqlDbType.Binary, 30));
        cmd.Parameters["@Uid"].Value = Encoding.UTF32.GetBytes(paraUid);

        cmd.Parameters.Add(new SqlParameter("@UserName",SqlDbType.Binary,30));
        cmd.Parameters["@UserName"].Direction = ParameterDirection.Output;

        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();

      return Encoding.UTF32.GetString( ((byte[])cmd.Parameters["@UserName"].Value) );

错误:
无法将类型为“System.DBNull”的对象强制转换为类型“System.Byte[]”
回复

使用道具 举报

0

主题

32

帖子

20.00

积分

新手上路

Rank: 1

积分
20.00
发表于 2020-4-27 09:45:01 | 显示全部楼层
if(cmd.Parameters["@UserName"]!=DBNull.Value )
{
return Encoding.UTF32.GetString( ((byte[])cmd.Parameters["@UserName"].Value) );

}
else
{
return String.Empty;
}
回复

使用道具 举报

0

主题

32

帖子

20.00

积分

新手上路

Rank: 1

积分
20.00
发表于 2020-4-27 10:00:01 | 显示全部楼层
你的返回值是null,所以不能进行转换操作
回复

使用道具 举报

0

主题

119

帖子

67.00

积分

新手上路

Rank: 1

积分
67.00
发表于 2020-4-28 19:30:01 | 显示全部楼层
对返回值判断一下即可处理!
回复

使用道具 举报

0

主题

11

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-4-28 23:15:02 | 显示全部楼层
對反回值處理一下
回复

使用道具 举报

0

主题

31

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-4-29 12:30:02 | 显示全部楼层
if(Convert.IsDbNull(...))
{
}
回复

使用道具 举报

0

主题

4

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-4-29 13:30:02 | 显示全部楼层
判断一下是不是dbnull不就可以了
回复

使用道具 举报

0

主题

23

帖子

20.00

积分

新手上路

Rank: 1

积分
20.00
发表于 2020-4-29 15:00:02 | 显示全部楼层
错误:
无法将类型为“System.DBNull”的对象强制转换为类型“System.Byte[]”
-------------------------
现在的年轻人啊!不知道仔细分析下.
回复

使用道具 举报

1

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-5-1 19:15:01 | 显示全部楼层
不对啊,我是说为什么会是返回DBNull,我数据库的值不是空的嘛
回复

使用道具 举报

1

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-5-2 00:30:01 | 显示全部楼层
都没有回答到正题上,不好意思
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表