Determines whether the specified value is null. : Number « Data Types « C# / C Sharp






Determines whether the specified value is null.

   
#region License
// Copyright (c) 2007 James Newton-King
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
#endregion

using System;
using System.Data.SqlTypes;

namespace Newtonsoft.Utilities.Database
{
  public static class SqlUtils
  {
    public static object ToValue(INullable nullableValue)
    {
      if (nullableValue == null)
        return null;
      else if (nullableValue is SqlInt32)
        return ToValue((SqlInt32)nullableValue);
      else if (nullableValue is SqlInt64)
        return ToValue((SqlInt64)nullableValue);
      else if (nullableValue is SqlBoolean)
        return ToValue((SqlBoolean)nullableValue);
      else if (nullableValue is SqlString)
        return ToValue((SqlString)nullableValue);
      else if (nullableValue is SqlDateTime)
        return ToValue((SqlDateTime)nullableValue);

      throw new Exception(string.Format("Unsupported INullable type: {0}", nullableValue.GetType()));
    }
    /// <summary>
    /// Determines whether the specified value is null.
    /// </summary>
    /// <param name="value">The value.</param>
    /// <returns>
    ///   <c>true</c> if the specified value is null; otherwise, <c>false</c>.
    /// </returns>
    public static bool IsNull(object value)
    {
      if (value == null)
        return true;

      if (value is INullable && ((INullable)value).IsNull)
        return true;

      if (value == DBNull.Value)
        return true;

      return false;
    }
    /// <summary>
    /// Converts SqlType to .NET value.
    /// </summary>
    /// <param name="sqlValue">The SQL value.</param>
    /// <returns></returns>
    public static int? ToValue(SqlInt32 sqlValue)
    {
      if (IsNull(sqlValue))
        return null;
      else
        return sqlValue.Value;
    }

    /// <summary>
    /// Converts SqlType to .NET value.
    /// </summary>
    /// <param name="sqlValue">The SQL value.</param>
    /// <returns></returns>
    public static long? ToValue(SqlInt64 sqlValue)
    {
      if (IsNull(sqlValue))
        return null;
      else
        return sqlValue.Value;
    }

    /// <summary>
    /// Converts SqlType to .NET value.
    /// </summary>
    /// <param name="sqlValue">The SQL value.</param>
    /// <returns></returns>
    public static string ToValue(SqlString sqlValue)
    {
      if (IsNull(sqlValue))
        return null;
      else
        return sqlValue.Value;
    }

    /// <summary>
    /// Converts SqlType to .NET value.
    /// </summary>
    /// <param name="sqlValue">The SQL value.</param>
    /// <returns></returns>
    public static DateTime? ToValue(SqlDateTime sqlValue)
    {
      if (IsNull(sqlValue))
        return null;
      else
        return sqlValue.Value;
    }

    /// <summary>
    /// Converts SqlType to .NET value.
    /// </summary>
    /// <param name="sqlValue">The SQL value.</param>
    /// <returns></returns>
    public static bool? ToValue(SqlBoolean sqlValue)
    {
      if (IsNull(sqlValue))
        return null;
      else
        return sqlValue.Value;
    }

    public static T? ToValue<T>(object value) where T : struct
    {
      if (IsNull(value))
        return null;
      else
        return new T?((T)value);
    }

    public static SqlInt32 FromValue(int? nullableValue)
    {
      return (nullableValue != null) ? new SqlInt32(nullableValue.Value) : new SqlInt32();
    }

    public static SqlDateTime FromValue(DateTime? nullableValue)
    {
      return (nullableValue != null) ? new SqlDateTime(nullableValue.Value) : new SqlDateTime();
    }

    public static SqlBoolean FromValue(bool? nullableValue)
    {
      return (nullableValue != null) ? new SqlBoolean(nullableValue.Value) : new SqlBoolean();
    }
  }
}

   
    
    
  








Related examples in the same category

1.Converting Degrees to RadiansConverting Degrees to Radians
2.Converting Radians to DegreesConverting Radians to Degrees
3.Converting a Number in Another Base to Base10Converting a Number in Another Base to Base10
4.Determining if a String is a Valid Number by Parse functionsDetermining if a String is a Valid Number by Parse functions
5.Use regualr expression to check: is it a numberUse regualr expression to check: is it a number
6.Use int.Parse to check: is it an integerUse int.Parse to check: is it an integer
7.Use Integer.Parse to check: is it a numberUse Integer.Parse to check: is it a number
8.Use regualr expression to check: Is it an Unsigned IntegerUse regualr expression to check: Is it an Unsigned Integer
9.Use regular expression to get number from stringUse regular expression to get number from string
10.Faster way to get number from stringFaster way to get number from string
11.Converting Celsius to FahrenheitConverting Celsius to Fahrenheit
12.Converting Fahrenheit to CelsiusConverting Fahrenheit to Celsius
13.Is it a double numberIs it a double number
14.Test for an Even or Odd ValueTest for an Even or Odd Value
15.System maximums and minimumsSystem maximums and minimums
16.Declare int and use itDeclare int and use it
17.Use int variableUse int variable
18.shows that using an instance of the System.Int32 stucture is the same as using the int keywordshows that using an instance of the System.Int32 stucture is the same as using the int keyword
19.Numeric Parsing DemoNumeric Parsing Demo
20.Number calculation utils
21.Double Range
22.Int Range
23.Sparse Double Range
24.Sparse Int Range
25.Checks if a value is in a range (inclusive)
26.Converts specified value to nullable value.
27.Validate number
28.Native SizeOf
29.Is Numeric