Search code examples
c#typesdbnullsystem.type

C# : return dbnull.value or system.type from function?


I want to create a function (c#):

int PutInt (int? x)
{
    if (x.HasValue)
        return x.Value;
    else
        return DBNull.Value;
}

but there is no cast from int to DBNull.Value. Is there any way to create such a function ?


Solution

  • Lets assume your DBMS is SQLServer, you can transform your function to

    object PutInt (int? x)
    {
        if (x.HasValue)
            return (object)x.Value;
        else
            return (object)DBNull.Value;
    }
    

    Because SQLParamater Value property assumes type object. Hope I answer your question.