/// <summary> /// Creates a Database-Sub-Class and Returns it or NULL /// </summary> /// <returns>DB_MySQL or DB_MSSQL or DB_Access or DB_XML or DB_FileSyste or NULL</returns> public static Database getDatabase(DB_Types type, string db_user, string db_password, string db_server, string db_name) { switch (type) { case DB_Types.MySQL: return new DB_MySQL(db_user,db_password,db_server,db_name); case DB_Types.MSSQL: break; case DB_Types.Access: break; case DB_Types.FileSystem: break; case DB_Types.XML: break; default: break; } throw new System.NotImplementedException(); }
/// <summary> /// Returns The Condition suitable for the Database-Type. /// </summary> /// <param name="db_type">Type of Database</param> /// <returns>String suitable for query</returns> public string toString(DB_Types db_type) { switch (db_type) { case DB_Types.MySQL: switch (type) { case ConditionTypes.Is: return "`"+field + "`='" + value+"'"; case ConditionTypes.Not: return "`" + field + "`!='" + value + "'"; case ConditionTypes.Like: return "`" + field + "` LIKE '%" + value + "'%"; case ConditionTypes.Greater: return "`" + field + "`>'" + value + "'"; case ConditionTypes.Less: return "`" + field + "`<'" + value + "'"; case ConditionTypes.GreaterSame: return "`" + field + "`>='" + value + "'"; case ConditionTypes.LessSame: return "`" + field + "`<='" + value + "'"; default: return ""; } case DB_Types.MSSQL: switch (type) { case ConditionTypes.Is: return "[" + field + "]='" + value + "'"; case ConditionTypes.Not: return "[" + field + "]!='" + value + "'"; case ConditionTypes.Like: return "[" + field + "] LIKE '%" + value + "'%"; case ConditionTypes.Greater: return "[" + field + "]>'" + value + "'"; case ConditionTypes.Less: return "[" + field + "]<'" + value + "'"; case ConditionTypes.GreaterSame: return "[" + field + "]>='" + value + "'"; case ConditionTypes.LessSame: return "[" + field + "]<='" + value + "'"; default: return ""; } case DB_Types.Access: switch (type) { case ConditionTypes.Is: return "[" + field + "]='" + value + "'"; case ConditionTypes.Not: return "[" + field + "]!='" + value + "'"; case ConditionTypes.Like: return "[" + field + "] LIKE '%" + value + "'%"; case ConditionTypes.Greater: return "[" + field + "]>'" + value + "'"; case ConditionTypes.Less: return "[" + field + "]<'" + value + "'"; case ConditionTypes.GreaterSame: return "[" + field + "]>='" + value + "'"; case ConditionTypes.LessSame: return "[" + field + "]<='" + value + "'"; default: return ""; } case DB_Types.FileSystem: switch (type) { case ConditionTypes.Is: return "[" + field + "]='" + value + "'"; case ConditionTypes.Not: return "[" + field + "]!='" + value + "'"; case ConditionTypes.Like: return "[" + field + "] LIKE '%" + value + "'%"; case ConditionTypes.Greater: return "[" + field + "]>'" + value + "'"; case ConditionTypes.Less: return "[" + field + "]<'" + value + "'"; case ConditionTypes.GreaterSame: return "[" + field + "]>='" + value + "'"; case ConditionTypes.LessSame: return "[" + field + "]<='" + value + "'"; default: return ""; } case DB_Types.XML: switch (type) { case ConditionTypes.Is: return "[" + field + "]='" + value + "'"; case ConditionTypes.Not: return "[" + field + "]!='" + value + "'"; case ConditionTypes.Like: return "[" + field + "] LIKE '%" + value + "'%"; case ConditionTypes.Greater: return "[" + field + "]>'" + value + "'"; case ConditionTypes.Less: return "[" + field + "]<'" + value + "'"; case ConditionTypes.GreaterSame: return "[" + field + "]>='" + value + "'"; case ConditionTypes.LessSame: return "[" + field + "]<='" + value + "'"; default: return ""; } default: return ""; } }