//------------------------------------------------------------------------------------------------ public static CResultAErreur SuppressionTable(string strNomTable, IDatabaseConnexion connexion) { CResultAErreur result = CResultAErreur.True; if (CAccessTableCreatorOld.TableExists(strNomTable, connexion)) { result = CAccessTableCreatorOld.DeleteTable(strNomTable, connexion); } return(result); }
//------------------------------------------------------------------------------------------------ public static CResultAErreur CreationOuUpdateTableFromType(Type tp, IDatabaseConnexion connexion, ArrayList strChampsAutorisesANull) { CResultAErreur result = CResultAErreur.True; CStructureTable structure = CStructureTable.GetStructure(tp); if (!result) { return(result); } //S'assure que toutes les tables parentes existent foreach (CInfoRelation relation in structure.RelationsParentes) { if (relation.TableParente != structure.NomTable) { string strNomTableParenteInDb = CContexteDonnee.GetNomTableInDbForNomTable(relation.TableParente); if (!CAccessTableCreatorOld.TableExists(strNomTableParenteInDb, connexion)) { result = CreationOuUpdateTableFromType(CContexteDonnee.GetTypeForTable(relation.TableParente), connexion); if (!result) { return(result); } } } } if (CAccessTableCreatorOld.TableExists(structure.NomTableInDb, connexion)) { result = CAccessTableCreatorOld.UpdateTable(structure, connexion, strChampsAutorisesANull); } else { result = CAccessTableCreatorOld.CreateTable(structure, connexion); } return(result); }