예제 #1
0
        public int EnvoyerRequeteAjout(RequeteAjout requete)
        {
            int nouvelIndex = -1;

            if (!Connecte)
            {
                Journal.AfficherMessage("La base de données n'est pas connectée. Impossible d'effectuer la requête d'ajout (Table : " + requete.NomTable + ").", TypeMessage.ERREUR, true);
                return(nouvelIndex);
            }

            Commande.CommandText = requete.Texte;
            Commande.CommandType = CommandType.Text;

            try
            {
                if (Commande.ExecuteNonQuery() > 0)
                {
                    Commande.CommandText = "SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = '" + requete.NomTable + "'";
                    MySqlDataReader resultat = Commande.ExecuteReader();

                    if (resultat.Read())
                    {
                        object valeurIndex = resultat.GetValue(0);

                        if (valeurIndex != DBNull.Value)
                        {
                            nouvelIndex = resultat.GetInt32(0) - 1;
                        }
                        else
                        {
                            nouvelIndex = 0;
                        }

                        resultat.Close();
                    }
                }
            }
            catch (MySqlException ex)
            {
                Journal.EcrireException("Erreur lors de l'exécution de la requête d'ajout (Table : " + requete.NomTable + ").", ex);
            }
            catch (InvalidOperationException ex)
            {
                Journal.EcrireException("La requête d'ajout est invalide ou la connexion est fermée (Table : " + requete.NomTable + ").", ex);
            }

            return(nouvelIndex);
        }
예제 #2
0
파일: Requete.cs 프로젝트: anthocaron/CABS
 public RequeteAjout(RequeteAjout req)
 {
     NomTable   = req.NomTable;
     NomsChamps = req.NomsChamps;
     Valeurs    = req.Valeurs;
 }