Exemple #1
0
        /// <summary>
        /// Writes the specified SQL value to the output stream.
        /// </summary>
        /// <param name="value">
        /// The value to write to the output stream.
        /// </param>
        public void WriteValue(object value)
        {
            EnsureNotDisposed();

            if (value == null)
            {
                Write(SqlNull);
                return;
            }

            switch (Type.GetTypeCode(value.GetType()))
            {
            case TypeCode.String:
            case TypeCode.Char:
                Write(Dialect.FormatString(Convert.ToString(value, CultureInfo.InvariantCulture)));
                break;

            case TypeCode.Byte:
            case TypeCode.Int16:
            case TypeCode.Int32:
            case TypeCode.Int64:
            case TypeCode.SByte:
            case TypeCode.UInt16:
            case TypeCode.UInt32:
            case TypeCode.UInt64:
                Write(Convert.ToString(value, CultureInfo.InvariantCulture));
                break;

            case TypeCode.Single:
            case TypeCode.Double:
            case TypeCode.Decimal:
                Write(Convert.ToString(value, CultureInfo.InvariantCulture));
                break;

            default:
                Write(Dialect.FormatString(Convert.ToString(value, CultureInfo.InvariantCulture)));
                break;
            }
        }