public SQLBuilder(string Tablename, DBMSTypes DBMSType) { pTablename = Tablename; Columns = new Dictionary<string, SQLColumnDefinition>(); ColumnNames = new List<string>(); pDBMSType = DBMSType; nfi = new System.Globalization.CultureInfo("en-US", false).NumberFormat; nfi.NumberGroupSeparator = ""; }
public string DBValueString(DBMSTypes DBMSType, System.Globalization.NumberFormatInfo nfi) { string strValue; if ((Value == null || Value.Equals(DBNull.Value)) && this.AllowNull) return "NULL"; switch (SQLType) { case SQLBuilderTypes.sqlString: case SQLBuilderTypes.sqlChar: strValue = Strings.GetSafeString(Value); if (MaxLen > 0) strValue = Strings.StrLeft(strValue, MaxLen); if (AllowNull) strValue = Strings.ConvertNullSQL(strValue); else strValue = "\'" + Strings.DoubleQuotes(strValue) + "\'"; break; case SQLBuilderTypes.sqlInt: if (Strings.IsNumeric(Value)) strValue = System.Convert.ToInt32(Value).ToString(nfi); else { if (AllowNull) strValue = "NULL"; else strValue = System.Convert.ToInt32(DefaultValue).ToString(nfi); } break; case SQLBuilderTypes.sqlFloat: case SQLBuilderTypes.sqlMoney: if (Strings.IsNumeric(Value)) { strValue = System.Convert.ToDouble(Value).ToString(nfi); } else { if (AllowNull) strValue = "NULL"; else strValue = System.Convert.ToDouble(DefaultValue).ToString(nfi); } break; case SQLBuilderTypes.sqlBool: if (DBMSType == DBMSTypes.MSSQLServer) strValue = Strings.Bool2Int(System.Convert.ToBoolean(Value)).ToString(); else strValue = System.Convert.ToBoolean(Value).ToString(nfi).ToUpper(); break; case SQLBuilderTypes.sqlDate: if (Strings.IsDate(Value)) { if (AllowNull && (DateTime)Value == DateTime.MinValue) strValue = "NULL"; else strValue = Strings.SQLDateTime(System.Convert.ToDateTime(Value), DBMSType == DBMSTypes.MSSQLServer); } else { if (AllowNull || !Strings.IsDate(DefaultValue)) strValue = "NULL"; else strValue = Strings.SQLDateTime(System.Convert.ToDateTime(DefaultValue), DBMSType == DBMSTypes.MSSQLServer); } break; case SQLBuilderTypes.sqlMemo: strValue = Strings.GetSafeString(Value); if (AllowNull) strValue = Strings.ConvertNullSQL(strValue); else strValue = "\'" + Strings.DoubleQuotes(strValue) + "\'"; break; default: strValue = "NULL"; break; } return strValue; }
public object DBValue(DBMSTypes DBMSType) { if ((Value == null || Value.Equals(DBNull.Value)) && this.AllowNull) return DBNull.Value; switch (SQLType) { case SQLBuilderTypes.sqlString: case SQLBuilderTypes.sqlChar: string strValue = Strings.GetSafeString(Value); if (strValue.Length == 0 && this.AllowNull) return DBNull.Value; if (MaxLen > 0) strValue = Strings.StrLeft(strValue, MaxLen); return strValue; case SQLBuilderTypes.sqlInt: if (Strings.IsNumeric(Value)) return System.Convert.ToInt32(Value); else { if (AllowNull) return DBNull.Value; else return DefaultValue; } case SQLBuilderTypes.sqlFloat: case SQLBuilderTypes.sqlMoney: if (Strings.IsNumeric(Value)) return System.Convert.ToDouble(Value); else { if (AllowNull) return DBNull.Value; else return DefaultValue; } case SQLBuilderTypes.sqlBool: if (DBMSType == DBMSTypes.MSSQLServer) return Strings.Bool2Int(System.Convert.ToBoolean(Value)); else return System.Convert.ToBoolean(Value); case SQLBuilderTypes.sqlDate: if (Strings.IsDate(Value)) { if (AllowNull && (DateTime)Value == DateTime.MinValue) return DBNull.Value; else return Value; } else { if (AllowNull || !Strings.IsDate(DefaultValue)) return DBNull.Value; else return Value; } case SQLBuilderTypes.sqlMemo: string strValueMemo = Strings.GetSafeString(Value); if (strValueMemo.Length == 0 && this.AllowNull) return DBNull.Value; return strValueMemo; default: return DBNull.Value; } }