首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

DBNull有关问题

2012-03-12 
DBNull问题数据库:CREATEprocedureUserIsExict@Uidbinary(30),@UserNamebinary(30)outputasselect@UserNam

DBNull问题
数据库:
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[]”

[解决办法]
if(cmd.Parameters[ "@UserName "]!=DBNull.Value )
{
return Encoding.UTF32.GetString( ((byte[])cmd.Parameters[ "@UserName "].Value) );

}
else
{
return String.Empty;
}
[解决办法]
你的返回值是null,所以不能进行转换操作
[解决办法]
老大 你的上个帖子我不是给你回了么
[解决办法]
对返回值判断一下即可处理!
[解决办法]
對反回值處理一下
[解决办法]
if(Convert.IsDbNull(...))
{
}
[解决办法]
判断一下是不是dbnull不就可以了
[解决办法]
错误:
无法将类型为“System.DBNull”的对象强制转换为类型“System.Byte[]”
-------------------------
现在的年轻人啊!不知道仔细分析下.
[解决办法]
小镇姑娘她爹我还要再说下现在的年轻人啊,唉......

[解决办法]
说的就是为什么参数所获取的值为什么总DBNull,是吧?
[解决办法]
是不是可以用一下空属类型啊(泛型的应用)

热点排行