internal ConstNode(DataTable table, System.Data.ValueType type, object constant, bool fParseQuotes) : base(table) { switch (type) { case System.Data.ValueType.Null: this.val = DBNull.Value; return; case System.Data.ValueType.Bool: this.val = Convert.ToBoolean(constant, CultureInfo.InvariantCulture); return; case System.Data.ValueType.Numeric: this.val = this.SmallestNumeric(constant); return; case System.Data.ValueType.Str: if (!fParseQuotes) { this.val = (string)constant; return; } this.val = ((string)constant).Replace("''", "'"); return; case System.Data.ValueType.Float: this.val = Convert.ToDouble(constant, NumberFormatInfo.InvariantInfo); return; case System.Data.ValueType.Decimal: this.val = this.SmallestDecimal(constant); return; case System.Data.ValueType.Date: this.val = DateTime.Parse((string)constant, CultureInfo.InvariantCulture); return; } this.val = constant; }
internal ConstNode(DataTable table, System.Data.ValueType type, object constant) : this(table, type, constant, true) { }