Best method of assigning NULL value to SqlParameter

前端 未结 7 1320
野的像风
野的像风 2021-01-07 20:53

I have a number of optional input parameters I am using in a C# class method. Since the optional syntax creates a value of \'0\' when the parameter is not used, the SQL inse

7条回答
  •  有刺的猬
    2021-01-07 21:20

    Yes, for the value of the parameter, just use DBNull.Value. For example:

    SqlParameter sqlError = 
        new SqlParameter("@errors", errors == 0 ? (object)DBNull.Value : errors);
    

    Or write a little helper:

    private object ValueOrDBNullIfZero(int val) {
       if ( val == 0 ) return DBNull.Value;
       return val;
    }
    

    Then:

    SqlParameter sqlError = 
        new SqlParameter("@errors", ValueOrDBNullIfZero(errors));
    

提交回复
热议问题