IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

ExecuteReader requires an open..


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Par défaut ExecuteReader requires an open..
    Bonjour à tous. j'ai effectué une recherche sur le forum au sujet de mon probleme et n'ayant rien trouvé je viens demander de l'aide directement ici. J'ai herite d'un site devellope a l'etranger (je suis en france) en asp.net c# . J'ai un probleme recurent sur n'importe quelle page de mon site. de façon tout a fait aleatoire (en apparence en tout cas) j'ai le message "
    ExecuteReader requires an open and available Connection. The connection's current state is closed.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.

    Source Error:

    Line 135:
    Line 136: SqlCommand cmd_Extensions = new SqlCommand(requete, cconnection);
    Line 137: StrDataReader = cmd_Extensions.ExecuteReader();
    Line 138: while (StrDataReader.Read())
    Line 139:
    "
    qui remonte. cependant en rafraichissant la page peut finalement apparaitre, ou pas. Quelqu'un a deja eu ce type de problemes ? merci.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Je suppose qu'il y a une classe qui gère la création d'une connexion ? C'est sous quel forme ? Peut être c'est une problème d'implémentation de cette classe ... cconnection est définie comment ?
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Par défaut
    oui je pense qu'il s'agit ce celle ci presente dans index.aspx.cx


    {
    string requete;

    requete = "SELECT * from homepage";

    string strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["A***DBConnectionString"].ConnectionString;
    SqlConnection cconnection = new SqlConnection(strConnection);

    try
    {
    cconnection.Open();

    SqlDataReader StrDataReaderx;

    SqlCommand cmd_infosHome = new SqlCommand(requete, cconnection);
    StrDataReaderx = cmd_infosHome.ExecuteReader();
    while (StrDataReaderx.Read())
    {
    switch (StrDataReaderx["HOM_TYP"].ToString())
    {
    case "ACT":
    lblTitreActualites.Text = Server.HtmlDecode(StrDataReaderx["HOM_PHO"].ToString());
    lblTexteActualites.Text = Server.HtmlDecode(StrDataReaderx["HOM_ACT"].ToString());
    break;
    case "OFR":
    //imgOffre.ImageUrl = StrDataReader["HOM_PHO"].ToString();
    //HyperLinkOffre.NavigateUrl = StrDataReader["HOM_URL"].ToString();
    break;
    }
    }
    StrDataReaderx.Close();
    }
    finally
    {
    cconnection.Close();
    cconnection.Dispose();
    }

    }

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Utilise la balise code, parce que c'est difficile de lire ainsi du code ...
    Il n y a pas de catch, essaie de mieux traiter tes exceptions ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    {
                string requete;
     
                requete = "SELECT * from homepage";
     
                string strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["A***DBConnectionString"].ConnectionString;
                SqlConnection cconnection = new SqlConnection(strConnection);
     
                try
                {
                    cconnection.Open();
     
                    SqlDataReader StrDataReaderx;
     
                    SqlCommand cmd_infosHome = new SqlCommand(requete, cconnection);
                    StrDataReaderx = cmd_infosHome.ExecuteReader();
                    while (StrDataReaderx.Read())
                    {
                        switch (StrDataReaderx["HOM_TYP"].ToString())
                        {
                            case "ACT":
                                lblTitreActualites.Text = Server.HtmlDecode(StrDataReaderx["HOM_PHO"].ToString());
                                lblTexteActualites.Text = Server.HtmlDecode(StrDataReaderx["HOM_ACT"].ToString());
                                break;
                            case "OFR":
                                //imgOffre.ImageUrl = StrDataReader["HOM_PHO"].ToString();
                                //HyperLinkOffre.NavigateUrl = StrDataReader["HOM_URL"].ToString();
                                break;
                        }
                    }
                    StrDataReaderx.Close();
                }
                finally
                {
                    cconnection.Close();
                    cconnection.Dispose();
                }
     
            }
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  5. #5
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Pourtant le message semble clair...

    "La connexion n'est pas ouverte."

    Il te manque l'instruction suivante entre la ligne 136 et 137

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cconnection.Open();

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Citation Envoyé par Kelpan Voir le message
    Pourtant le message semble clair...

    "La connexion n'est pas ouverte."

    Il te manque l'instruction suivante entre la ligne 136 et 137

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cconnection.Open();
    Après le try il fait bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cconnection.Open();
    Donc ce n'est pas le souci ...

    En plus, si je ne m'abuse il dit que ça ne marchait pas que de manière aléatoire ...
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  7. #7
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    La source avec le "try" ne correspond pas à la source qui provoque l'erreur apparemment.

    Pour moi je ne vois pas beaucoup de possibilité. Le message précise bien que la connexion est fermée au moment de l'appel. Cela veut dire qu'il n'y a pas d'ouverture de connexion avant le lancement de la commande.

    Ensuite, si cela marche aléatoirement, cela vient surement d'une mauvaise gestion de la femeture de connexion dans certaines procédures qui fait que la procédure peut recevoir une connexion ouverte.

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Citation Envoyé par Kelpan Voir le message
    La source avec le "try" ne correspond pas à la source qui provoque l'erreur apparemment.

    Pour moi je ne vois pas beaucoup de possibilité. Le message précise bien que la connexion est fermée au moment de l'appel. Cela veut dire qu'il n'y a pas d'ouverture de connexion avant le lancement de la commande.

    Ensuite, si cela marche aléatoirement, cela vient surement d'une mauvaise gestion de la femeture de connexion dans certaines procédures qui fait que la procédure peut recevoir une connexion ouverte.
    lol oui apparemment il nous a pas donné la bonne source, dans son premier post :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Line 136: SqlCommand cmd_Extensions = new SqlCommand(requete, cconnection);
    Line 137: StrDataReader = cmd_Extensions.ExecuteReader();
    Dans le dernier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SqlCommand cmd_infosHome = new SqlCommand(requete, cconnection);
    StrDataReaderx = cmd_infosHome.ExecuteReader();
    eclepkens : Il nous faut la source qui provoque l'erreur, où comme le disait Kelpan, soit tu n'ouvre pas ta connexion, soit elle est fermé au passage ...
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  9. #9
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Par défaut
    Merci rad_hass, en effet c'est tres etrange comme comportement. le contenu des pages remonte ou pas. je n'arrive pas a savoir d'ou cela peut venir. du code ? du sqlerver ? des deux ? n'etant pas le devellopeur et n'ayant pas participé au devellopement je tatonne pas mal.
    Quand aux lignes 136 et 137 ça depend de la page. là je n'avais pas penser a la noter. apres une dizaine de refresh sur la meme page j'ai reussi a la replanter et là j'ai :

    ExecuteReader requires an open and available Connection. The connection's current state is closed.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.

    Source Error:


    Line 23: string requete = "select * from ConditionsDeVente where obj_id in(" + Request.QueryString["sej_id"].ToString() + "," + Request.QueryString["hot_id"].ToString() + ")";
    Line 24: SqlCommand cmd_conditions = new SqlCommand(requete, cconnection);
    Line 25: StrDataReader = cmd_conditions.ExecuteReader();
    Line 26: lblConditionsHotel.Text = "";
    Line 27: while (StrDataReader.Read())


    Source File: c:\Inetpub\Amplitudes.com\Sejours\PrixEtConditions.aspx.cs Line: 25

    Stack Trace:


    [InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.]
    System.Data.SqlClient.SqlConnection.GetOpenConnection(String method) +857028
    System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command) +9
    System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async) +56
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +73
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
    System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
    System.Data.SqlClient.SqlCommand.ExecuteReader() +84
    AmplitudesV2.Sejours.PrixEtConditions.Page_Load(Object sender, EventArgs e) in c:\Inetpub\Amplitudes.com\Sejours\PrixEtConditions.aspx.cs:25
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
    System.Web.UI.Control.OnLoad(EventArgs e) +99
    System.Web.UI.Control.LoadRecursive() +47
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061

  10. #10
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Par défaut
    et zut j'ai oublié la balise code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    ExecuteReader requires an open and available Connection. The connection's current state is closed. 
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
     
    Exception Details: System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.
     
    Source Error: 
     
     
    Line 23:             string requete = "select * from ConditionsDeVente where obj_id in(" + Request.QueryString["sej_id"].ToString() + "," + Request.QueryString["hot_id"].ToString() + ")";
    Line 24:             SqlCommand cmd_conditions = new SqlCommand(requete, cconnection);
    Line 25:             StrDataReader = cmd_conditions.ExecuteReader();
    Line 26:             lblConditionsHotel.Text = "";
    Line 27:             while (StrDataReader.Read())
     
     
    Source File: c:\Inetpub\Amplitudes.com\Sejours\PrixEtConditions.aspx.cs    Line: 25 
     
    Stack Trace: 
     
     
    [InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.]
       System.Data.SqlClient.SqlConnection.GetOpenConnection(String method) +857028
       System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command) +9
       System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async) +56
       System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +73
       System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
       System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
       System.Data.SqlClient.SqlCommand.ExecuteReader() +84
       AmplitudesV2.Sejours.PrixEtConditions.Page_Load(Object sender, EventArgs e) in c:\Inetpub\Amplitudes.com\Sejours\PrixEtConditions.aspx.cs:25
       System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
       System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
       System.Web.UI.Control.OnLoad(EventArgs e) +99
       System.Web.UI.Control.LoadRecursive() +47
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061

  11. #11
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Et pour cette classe comment la connexion est ouverte ?
    Comment cconnection est définie dans PrixEtConditions.aspx.cs ?
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  12. #12
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Par défaut
    bonjour à tous, en reponse à rad_hass je te passe le code de l'aspx.cs qui correspond.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
        public partial class PrixEtConditions : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                // recherche des conditions 
     
                SqlConnection cconnection = (SqlConnection)Application["oConnection"];
                SqlDataReader StrDataReader;
    			String strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["AmplitudesDBConnectionString"].ConnectionString;
                SqlConnection cconnection2 = new SqlConnection(strConnection);
     
     
     
     
                string requete = "select * from ConditionsDeVente where obj_id in(" + Request.QueryString["Prog"].ToString() + "," + Request.QueryString["Voy"].ToString() + ")";
                SqlCommand cmd_conditions = new SqlCommand(requete, cconnection);
                StrDataReader = cmd_conditions.ExecuteReader();
                lblConditionsdeVente.Text = "";
                while (StrDataReader.Read())
                {
                    if (StrDataReader["DateDebut"] == StrDataReader["dateFin"])
                    {
                        lblConditionsdeVente.Text = lblConditionsdeVente.Text + " le " + String.Format("{0:dd/MM/yyyy}", StrDataReader["DateDebut"]) + " : ";
                    }
                    else
                    {
                        lblConditionsdeVente.Text = lblConditionsdeVente.Text + "<strong>" + " Du " + String.Format("{0:dd/MM/yyyy}", StrDataReader["DateDebut"]) + " au " + String.Format("{0:dd/MM/yyyy}", StrDataReader["dateFin"]) + " : " + "</strong>";
                    }
                    switch (StrDataReader["typeCondition"].ToString().Trim())
                    {
                        case "1":
                            lblConditionsdeVente.Text = lblConditionsdeVente.Text + "Nombre minimum de nuits : " + StrDataReader["ValeurCondition"].ToString().Trim() + "<br>";
                            break;
                        case "2":
                            lblConditionsdeVente.Text = lblConditionsdeVente.Text + "Jour de semaine obligatoire : " + StrDataReader["ValeurCondition"].ToString().Trim() + "<br>";
                            break;
                        case "3":
                            lblConditionsdeVente.Text = lblConditionsdeVente.Text + "Frais spécifiques : " + StrDataReader["ValeurCondition"].ToString().Trim() + "&euro;<br>";
                            break;
                        case "4":
                            lblConditionsdeVente.Text = lblConditionsdeVente.Text + "Nuits Offertes : " + StrDataReader["ValeurCondition"].ToString().Trim().Replace(".", "") + "<br>";
                            break;
                        case "5":
                            lblConditionsdeVente.Text = lblConditionsdeVente.Text + StrDataReader["ValeurCondition"].ToString().Trim() + "<br>";
                            break;
                    }
     
     
     
                }
                StrDataReader.Close();

  13. #13
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Dans ce code tu n'ouvre pas la connexion avec :

    Donc selon l'état de la connexion que tu récupère de ta variable d'application ça va marcher ou pas ...
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  14. #14
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Le mieux est de vérifier toutes tes pages pour trouver celle (ou celles) qui ne ferment pas ta connexion à la fin de la requete.

    Par contre si tu te contente de mettre ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cconnection.Open()
    tu risques de rencontrer le problème inverse. Un message d'erreur comme quoi ta connexion est déjà ouverte "aléatoirement" aussi...

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if cconnection.State == ConnectionState.Closed {
        cconnection.Open();
    }

  15. #15
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Par défaut
    merci kelpan je vais faire le tour des pages concernées, en tout cas merci à tous pour la qualite et la rapidite de vos reponses. Je pensai a autre chose, cela ne pourrai pas venir d'un probleme de parametrage serveur ?

  16. #16
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Citation Envoyé par eclepkens Voir le message
    Je pensai a autre chose, cela ne pourrai pas venir d'un probleme de parametrage serveur ?
    Comme je te l'ai dis plus haut, le message est clair : "la connexion est fermée."

    Quelque soit ton paramétrage au niveau du serveur, si ta connexion est fermée, tu n'y accèdes pas...
    Et puis le paramétrage ne peut pas changer aléatoirement...

  17. #17
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    personnellement, j'aurais tendance à d'abord créer ma connexion, puis ma commande et ensuiteouvrir la connexion.
    Mais, je ne suis pas certains que ça change quelque chose.
    ensuite pour t'assurer d'ouvrir ce quui est fermé et inversement fais un test :

    ouverture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if cconnection.State != ConnectionState.opened
    {
        cconnection.Open();
    }
    fermeture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if cconnection.State != ConnectionState.Closed
    {
        cconnection.Close();
    }
    ça évite des plantouilles...
    Enfin, je te conseillerais de centraliser le tout (si possible) en une classe DAManager... ça t'éviterais de "partir dans tous les sens"

    Désolé, celà ne répond pas à ton problème, mais ça peut te simplifier la vie pour la suite.

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/02/2015, 12h04
  2. [PEAR] Fatal error: require_once(): Failed opening required 'HTML/Table/Storage.php'
    Par arakscons dans le forum Bibliothèques et frameworks
    Réponses: 14
    Dernier message: 16/09/2014, 10h36
  3. [Smarty] Failed opening required '../Smarty/Smarty.class.php'
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 11/11/2010, 19h31
  4. Réponses: 3
    Dernier message: 01/09/2009, 07h38
  5. Choix d'un EDI pour la 3D (Open GL, Portable)
    Par Riko dans le forum OpenGL
    Réponses: 6
    Dernier message: 01/08/2002, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo