コード例 #1
0
        private ISqlValue ToDayToSecond(SqlString value)
        {
            SqlDayToSecond dts;

            if (!SqlDayToSecond.TryParse(value.Value, out dts))
            {
                return(SqlNull.Value);
            }

            return(dts);
        }
コード例 #2
0
        public static void TryParse(string s, int days, int hours, int minutes, int seconds, int millis)
        {
            SqlDayToSecond dts;

            Assert.True(SqlDayToSecond.TryParse(s, out dts));

            Assert.Equal(days, dts.Days);
            Assert.Equal(hours, dts.Hours);
            Assert.Equal(minutes, dts.Minutes);
            Assert.Equal(seconds, dts.Seconds);
            Assert.Equal(millis, dts.Milliseconds);
        }
コード例 #3
0
        private static bool TryParseValue(SqlTypeCode typeCode, string s, IFormatProvider provider, out ISqlValue outValue, out Exception error)
        {
            try {
                switch (typeCode)
                {
                case SqlTypeCode.TinyInt:
                case SqlTypeCode.SmallInt:
                case SqlTypeCode.Integer:
                case SqlTypeCode.BigInt:
                case SqlTypeCode.Real:
                case SqlTypeCode.Double:
                case SqlTypeCode.Decimal:
                case SqlTypeCode.Float:
                case SqlTypeCode.Numeric:
                case SqlTypeCode.VarNumeric: {
                    error = null;
                    var result = SqlNumber.TryParse(s, provider, out var value);
                    outValue = value;

                    return(result);
                }

                case SqlTypeCode.Bit:
                case SqlTypeCode.Boolean: {
                    error = null;
                    var result = SqlBoolean.TryParse(s, out var value);
                    outValue = value;

                    return(result);
                }

                case SqlTypeCode.Date:
                case SqlTypeCode.DateTime:
                case SqlTypeCode.TimeStamp: {
                    error = null;
                    var result = SqlDateTime.TryParse(s, out var value);
                    outValue = value;

                    return(result);
                }

                case SqlTypeCode.YearToMonth: {
                    error = null;
                    var result = SqlYearToMonth.TryParse(s, out var value);
                    outValue = value;

                    return(result);
                }

                case SqlTypeCode.DayToSecond: {
                    error = null;
                    var result = SqlDayToSecond.TryParse(s, out var value);
                    outValue = value;

                    return(result);
                }

                default: {
                    error    = new FormatException($"The type {typeCode} does not support parsing");
                    outValue = null;

                    return(false);
                }
                }
            } catch (Exception ex) {
                error    = ex;
                outValue = null;

                return(false);
            }
        }
コード例 #4
0
        public static void TryInvalidParse(string s)
        {
            SqlDayToSecond dts;

            Assert.False(SqlDayToSecond.TryParse(s, out dts));
        }