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

C++/CLI Discussion :

Visual C++ 2005 EXPRESS pour connecter a une base PostgreSQL


Sujet :

C++/CLI

  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    45
    D�tails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Par d�faut Visual C++ 2005 EXPRESS pour connecter a une base PostgreSQL
    Bonjour, j'ai developper une application et je l'�x�cute avec Visual C++ 2005 EXPRESS. Elle doit se connect� a une base de donn�e via PostgreSQL. Donc l'application se lance, je rentre ce qu'il faut dans les case, et la quand je click sur le logon qui permet de me connect� a la base, il me met:

    Une exception non g�r�e du type 'System.AccessViolationException' s'est produite dans AjoutAdministrateur.exe
    Informations suppl�mentaires*: Tentative de lecture ou d'�criture de m�moire prot�g�e. Cela indique souvent qu'une autre m�moire est endommag�e.

    et puis j'ai le choix entre continuer et quitter, mais dans les 2 cas cela me ferme mon application.Pour l'instant je vous met pas le code mais si vous en avez besion pourquoi pas mais il prend de la place, il faut bien 5 feuilles!

    Mer�i de m'aider si vous avez la solution.

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    si tu lances l'application en debug, sur quelle ligne se produit l'exception ?

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    45
    D�tails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Par d�faut
    voila mon code principale:

    // AjoutAdministrateur.cpp : main project file.

    #include "stdafx.h"
    #include "FenPrinc.h"
    #include "FenAlerte.h"

    using namespace AjoutAdministrateur;

    [STAThreadAttribute]
    int main(array<System::String ^> ^args)
    {
    // Enabling Windows XP visual effects before any controls are created
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);

    // Create the main window and run it
    Application::Run(gcnew FenPrinc());
    return 0;
    }
    l'exeception se produit sur le return 0, quand je clic sur connecter, hop j'ai le message que je di pr�c�dament.

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    si tu lances en d�bug, ca s'arrete sur quelle ligne ?
    j'imagine que c'est dans ta form, pas dans le main

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    45
    D�tails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Par d�faut
    voila ce que me met visual c++ 2005 express en sortie:

    'AjoutAdministrateur.exe'*: Charg� 'C:\Program Files\ADIMED\AjoutAdministrateur\debug\AjoutAdministrateur.exe', Les symboles ont �t� charg�s.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\ntdll.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\mscoree.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\kernel32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\advapi32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\rpcrt4.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\libpq.dll', Le fichier binaire n'a pas �t� g�n�r� avec les informations de d�bogage.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\comerr32.dll', Le fichier binaire n'a pas �t� g�n�r� avec les informations de d�bogage.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\msvcrt.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\user32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\gdi32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\libeay32.dll', Le fichier binaire n'a pas �t� g�n�r� avec les informations de d�bogage.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\wsock32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\ws2_32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\ws2help.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\libintl-2.dll', Le fichier binaire n'a pas �t� g�n�r� avec les informations de d�bogage.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\libiconv-2.dll', Le fichier binaire n'a pas �t� g�n�r� avec les informations de d�bogage.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\krb5_32.dll', Le fichier binaire n'a pas �t� g�n�r� avec les informations de d�bogage.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\shfolder.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\ssleay32.dll', Le fichier binaire n'a pas �t� g�n�r� avec les informations de d�bogage.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcr80d.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcm80d.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\ole32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\imm32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\shlwapi.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.163_x-ww_681e29fb\msvcr80.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\shell32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\comctl32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Culture.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: D�charg� 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Culture.dll'
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\mscorlib\0a9f0022aae2844794d9c9f54da20d77\mscorlib.ni.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe' (Manag�)*: 'C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll' charg�, aucun symbole charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\uxtheme.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\msctf.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe' (Manag�)*: 'c:\Program Files\ADIMED\AjoutAdministrateur\debug\AjoutAdministrateur.exe' charg�, symboles charg�s.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorjit.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\diasymreader.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\rsaenh.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe' (Manag�)*: 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcm80d.dll' charg�, aucun symbole charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\System\4be005078ddab84ca9fdd7afbdb359d1\System.ni.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe' (Manag�)*: 'C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll' charg�, aucun symbole charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\System.Drawing\cdbc72c3a484554ba5ada3b21de64871\System.Drawing.ni.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\System.Windows.Forms\5f148f5f0ff5034a9f039ae48b1ce0a3\System.Windows.Forms.ni.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe' (Manag�)*: 'C:\WINDOWS\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll' charg�, aucun symbole charg�.
    'AjoutAdministrateur.exe' (Manag�)*: 'C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll' charg�, aucun symbole charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.2180_x-ww_522f9f82\GdiPlus.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\version.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: D�charg� 'C:\WINDOWS\system32\version.dll'
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\msctfime.ime', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\oleaut32.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\mswsock.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\dnsapi.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\rasadhlp.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\hnetcfg.dll', Aucun symbole n'a �t� charg�.
    'AjoutAdministrateur.exe'*: Charg� 'C:\WINDOWS\system32\wshtcpip.dll', Aucun symbole n'a �t� charg�.
    Exception de premi�re chance � 0x631072fd dans AjoutAdministrateur.exe*: 0xC0000005: Violation d'acc�s lors de la lecture de l'emplacement 0xfeeefeee.
    'AjoutAdministrateur.exe' (Manag�)*: 'C:\WINDOWS\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_fr_b77a5c561934e089\mscorlib.resources.dll' charg�, aucun symbole charg�.
    Une exception de premi�re chance de type 'System.AccessViolationException' s'est produite dans AjoutAdministrateur.exe
    Une exception non g�r�e du type 'System.AccessViolationException' s'est produite dans AjoutAdministrateur.exe

    Informations suppl�mentaires*: Tentative de lecture ou d'�criture de m�moire prot�g�e. Cela indique souvent qu'une autre m�moire est endommag�e.

    Le thread 'Thread Win32' (0x808) s'est arr�t� avec le code 0 (0x0).
    Le thread 'Thread Win32' (0x80c) s'est arr�t� avec le code 0 (0x0).
    Le thread 'Thread Win32' (0x814) s'est arr�t� avec le code 0 (0x0).
    Le thread 'Thread Win32' (0x844) s'est arr�t� avec le code 0 (0x0).
    Le programme '[1392] AjoutAdministrateur.exe: Manag�' s'est arr�t� avec le code 0 (0x0).
    Le programme '[1392] AjoutAdministrateur.exe: Natif' s'est arr�t� avec le code 0 (0x0).

  6. #6
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    45
    D�tails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Par d�faut
    j'ai trouv� le mor�eau de code qui posait probl�me, mais je ne voit pas o�, le voila:

    ______________________________________________________
    String^ nomtmp;

    nomtmp = gcnew String(PQgetvalue(res, 0, 0));

    this->textBox7->Text = nomtmp;
    PQclear(res);
    //Ferme la connexion � la base de donn�es et lib�re la m�moire
    PQfinish(conn);

    ______________________________________________________

  7. #7
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    je ne connais pas les api de postgre, mais peut-etre une erreur dans la connexion, la chaine de connexion

  8. #8
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    45
    D�tails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Par d�faut
    oui mer�i, mais est ce que tu peu �tre plus pr�cis?mer�i sa serait cool

  9. #9
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    45
    D�tails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Par d�faut
    voi�i le code qui me permet de me connecter a la base:
    #pragma endregion

    private:
    String^ Informationsconn;


    int FenPrinc::numeroLogin(){

    String^ connstatus;
    String^ requete;
    PGconn *conn;
    PGresult *res;
    String^ tmp="0";
    int nbr=0;



    IntPtr p = System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(this->Informationsconn);
    LPCSTR chaineChar = reinterpret_cast<LPCSTR>(static_cast<void *>(p));
    conn = PQconnectdb(chaineChar);
    System::Runtime::InteropServices::Marshal::FreeHGlobal(p);


    if (PQstatus(conn) != CONNECTION_OK)
    {
    connstatus="PROBLEM DE CONNECTION";
    }else{

    //requete = "select count(*) from utilisateur where nom = '"+nom+"' and prenom = '"+pr�nom+"'"+" and mot_de_passe = '"+mdp+"'";
    requete = "select count(*)+1 from utilisateur";
    IntPtr p = System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(requete);
    LPCSTR chaineChar = reinterpret_cast<LPCSTR>(static_cast<void *>(p));
    res = PQexec(conn, chaineChar);
    System::Runtime::InteropServices::Marshal::FreeHGlobal(p);

    if (PQresultStatus(res) != PGRES_TUPLES_OK)
    {
    fprintf(stderr, "SELECT failed: %s", PQerrorMessage(conn));
    PQclear(res);
    tmp="0";

    }else{
    tmp= gcnew String(PQgetvalue(res, 0, 0));
    PQclear(res);
    }
    /* Ferme la connexion � la base de donn�es et lib�re la m�moire */
    PQfinish(conn);
    }
    nbr = Convert::ToInt32(tmp);
    return nbr;
    }

  10. #10
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    PQgetvalue renvoit une valeur coh�rente ? qu'est-ce que ca renvoit normalement ?
    y a une valeur dans le d�bugger ?

  11. #11
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    45
    D�tails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Par d�faut
    oui justement je crois que c'est � cette ligne la que sa ne vas pas.

    tmp= gcnew String(PQgetvalue(res, 0, 0));


    voila ce qu'on me dit sur un site:

    PQgetvalue
    Renvoie la valeur d'un seul champ d'une (seule) ligne d'un PGresult. Les num�ros de lignes et de colonnes commencent � z�ro.

    char* PQgetvalue(const PGresult *res,
    int row_number,
    int column_number);
    Pour les donn�es au format texte, la valeur renvoy�e par PQgetvalue est une repr�sentation au format cha�ne de caract�res termin�e par un octet nul de la valeur du champ. Pour les donn�es au format binaire, la valeur est dans la repr�sentation binaire d�termin�e par les fonctions typsend et typreceive de la donn�e. (La valeur est en fait suivie d'un octet z�ro dans ce cas aussi mais ce n'est pas r�ellement utile car la valeur elle m�me peut contenir des octets nuls.)

    Une cha�ne vide est renvoy�e si la valeur du champ est nulle. Voir PQgetisnull pour distinguer les valeurs nulles des valeurs de cha�ne vide.

    Le pointeur renvoy� par PQgetvalue pointe vers un espace m�moire de la structure PGresult. Il ne faut pas modifier les donn�es vers lesquelles il pointe. Il faut recopier ces donn�es si on souhaite les utiliser apr�s la disparition de la structure PGresult.

Discussions similaires

  1. [MSSQL 2005 EXPRESS] impossible de rattacher une base
    Par b.grellee dans le forum MS SQL Server
    R�ponses: 2
    Dernier message: 10/07/2007, 17h19
  2. R�ponses: 11
    Dernier message: 19/02/2007, 09h13
  3. Compilation avec Visual C++ 2005 Express pour avoir un module python
    Par Freyja dans le forum D�ploiement/Installation
    R�ponses: 6
    Dernier message: 13/07/2006, 12h12
  4. R�ponses: 4
    Dernier message: 22/04/2006, 21h50

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