public override sc2i.common.CResultAErreur ExecuterOperation(IDatabaseConnexion connection, sc2i.common.IIndicateurProgression indicateur) { CResultAErreur result = CResultAErreur.True; CAccess97DatabaseConnexion cnx = connection as CAccess97DatabaseConnexion; if (cnx == null) { return(result); } CAccessDataBaseCreator creator = cnx.GetDataBaseCreator() as CAccessDataBaseCreator; if (creator == null) { return(result); } foreach (Type tp in CContexteDonnee.GetAllTypes()) { CStructureTable structure = CStructureTable.GetStructure(tp); if (structure != null && creator.TableExists(structure.NomTable)) { foreach (CInfoChampTable info in structure.Champs) { if (!info.NullAuthorized && !structure.ChampsId.Contains(info)) { result = creator.SetValeursParDefautAuxDonneesNulles(structure.NomTable, info); if (!result) { return(result); } } } } } return(result); }
//------------------------------------------------ public CResultAErreur GetDonnees(IElementAVariablesDynamiquesAvecContexteDonnee elementAVariables, CListeObjetsDonnees listeDonnees, sc2i.common.IIndicateurProgression indicateur) { CResultAErreur result = CResultAErreur.True; if (indicateur != null) { indicateur.SetBornesSegment(0, IdTablesARetourner.Count()); } DataSet ds = new DataSet(); int nNbTables = 0; if (m_query != null) { m_query.ClearCache(); } foreach (string strIdTable in IdTablesARetourner) { foreach (object obj in m_query.Childs) { IObjetDeEasyQuery q = obj as IObjetDeEasyQuery; if (q.Id == strIdTable) { if (indicateur != null) { indicateur.SetInfo(q.NomFinal); } result = q.GetDatas(m_query.ListeSources); if (result) { DataTable table = result.Data as DataTable; if (table.DataSet != null) { DataTable newTable = table.Clone(); newTable.BeginLoadData(); foreach (DataRow row in table.Rows) { newTable.ImportRow(row); } newTable.EndLoadData(); table = newTable; } ds.Tables.Add(table); } else { return(result); } } } if (indicateur != null) { indicateur.SetValue(nNbTables++); } } if (indicateur != null) { indicateur.SetValue(IdTablesARetourner.Count()); } result.Data = ds; return(result); }