如何从数据库返回用户头像(SQL查询)

时间:2013-02-03 15:05:02

标签: asp.net sql sql-server-2008

我在SQL Server 2008中有一个表User_Table,有一列UserAvatarvarbinary)可以是null

如果用户头像不为空,我需要一个返回用户头像的查询,如果它是null则返回保存在特定行中的默认用户头像(有一个名为ID的列是PK

我该怎么办?

2 个答案:

答案 0 :(得分:1)

CREATE PROCEDURE sp_myDuplicateCheck
 @ID int,
@UserAvatar varbinary,
AS
BEGIN
SET @UserAvatar = Select UserAvatar from User_Table where ID=@ID
IF (@UserAvatar IS NULL)
Set @UserAvatar = Select UserAvatar from User_Table where ID=xxDefault
END
END

您可以在SP中执行逻辑并从代码调用SP并获取数据。

其他选项是您可以在代码上执行相同的逻辑 从User_Table中选择UserAvatar,其中ID = XX 使用http://msdn.microsoft.com/en-us/library/tckcces5%28v=vs.80%29.aspx IsDBNull以便

if (dr["nameOfField"] == System.DBNull.Value) //Here Dr is your Data reader 
{
    nedID = 1;
}

答案 1 :(得分:-1)

试试这个

select case when u.UserAvatar  is null then (select * from User_Table uu where uu.ID = PK)
       else u.UserAvatar
from User_Table u