//--------------------------------------------------------------------------------------
        private static CResultAErreur SupprimeDependances(string strNomTable, string strNomChamp, IDatabaseConnexion connexion)
        {
            CResultAErreur result = CResultAErreur.True;

            string strRequeteGetForeignKey =
                @" SELECT obj2.name 
						FROM sysobjects AS obj1 
						INNER JOIN syscolumns AS sc ON sc.id=obj1.id 
						INNER JOIN sysconstraints AS scon ON (scon.id=obj1.id AND sc.colid=scon.colid) 
						INNER JOIN sysobjects AS obj2 ON scon.constid=obj2.id 
						AND obj1.name='"                         + strNomTable + "' " +
                "AND sc.name='" + strNomChamp + "'";

            IDataAdapter adapter = connexion.GetSimpleReadAdapter(strRequeteGetForeignKey);
            DataSet      ds      = new DataSet();

            connexion.FillAdapter(adapter, ds);
            DataTable dt = ds.Tables[0];

            foreach (DataRow row in dt.Rows)
            {
                string strRequeteSuppressionRelation = "ALTER TABLE " + strNomTable + " DROP CONSTRAINT " + (string)row[0];

                result = connexion.RunStatement(strRequeteSuppressionRelation);

                if (!result)
                {
                    result.EmpileErreur(I.T("Error while deleting constrain @1 of table @2|133", (string)row[0], strNomTable));
                    return(result);
                }
            }

            string strRequeteIndexes =
                @"SELECT     si.name
					FROM sysobjects tbl INNER JOIN
						syscolumns sc ON sc.id = tbl.id INNER JOIN
						sysindexkeys sik ON sik.id = tbl.id AND sc.colid = sik.colid INNER JOIN
						sysindexes si ON si.id = tbl.id AND si.indid = sik.indid
						WHERE     (tbl.name = '"                         + strNomTable + "') AND (sc.name = '" + strNomChamp + "') and " +
                "si.name like 'IX%'";

            adapter = connexion.GetSimpleReadAdapter(strRequeteIndexes);
            ds      = new DataSet();
            connexion.FillAdapter(adapter, ds);
            dt = ds.Tables[0];

            foreach (DataRow row in dt.Rows)
            {
                string strRequeteSuppressionIndex = " DROP INDEX " + strNomTable + "." + (string)row[0];

                result = connexion.RunStatement(strRequeteSuppressionIndex);

                if (!result)
                {
                    result.EmpileErreur(I.T("Error while deleting index @1 of the table @2|130", (string)row[0], strNomTable));
                    return(result);
                }
            }
            return(result);
        }
        //--------------------------------------------------------------------------------------
        private static CResultAErreur SupprimeForeignKeys(string strNomTable, string strNomChamp, IDatabaseConnexion connexion)
        {
            CResultAErreur result = CResultAErreur.True;

            string strRequeteGetForeignKey =
                @" SELECT obj2.name 
						FROM sysobjects AS obj1 
						INNER JOIN syscolumns AS sc ON sc.id=obj1.id 
						INNER JOIN sysforeignkeys AS fk ON (fk.fkeyid=obj1.id AND colid=fk.fkey) 
						INNER JOIN sysobjects AS obj2 ON fk.constid=obj2.id 
						WHERE obj1.xtype='U' 
						AND obj1.name='"                         + strNomTable + "' " +
                "AND sc.name='" + strNomChamp + "'";

            IDataAdapter adapter = connexion.GetSimpleReadAdapter(strRequeteGetForeignKey);
            DataSet      ds      = new DataSet();

            connexion.FillAdapter(adapter, ds);
            DataTable dt = ds.Tables[0];

            foreach (DataRow row in dt.Rows)
            {
                string strRequeteSuppressionRelation = "ALTER TABLE " + strNomTable + " DROP CONSTRAINT " + (string)row[0];

                result = connexion.RunStatement(strRequeteSuppressionRelation);

                if (!result)
                {
                    result.EmpileErreur(I.T("Error while deleting constrain @1 of table @2|133", (string)row[0], strNomTable));
                    return(result);
                }
            }
            return(result);
        }