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

MFC Discussion :

[CRecordset] Plantage sur .Update();


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut [CRecordset] Plantage sur .Update();
    Bonjour,

    J'ai repris un ancien code, après migration sur MySQL, maintenant J'ai une exception
    Unhandled exception at 0x7c81eb33 in Sign Scheduler.exe: Microsoft C++ exception: CDBException at memory location 0x018ff5a0..
    lorsque je fais un .Update(). Qu'est qui peut expliquer ce plantage, qu'il n'y avait pas avant ?


    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
    	T_Signs	f_pSignTable(&m_bdDatabase); //Derived from CRecordset
    	bool Status_Changed = false;
    
    	if (m_bdDatabase.m_hdbc)
    		{
    			CString f_sSQLCommand;
    			f_sSQLCommand.Format("SELECT * FROM t_signs");
    			if (!f_pSignTable.Open(CRecordset::snapshot, f_sSQLCommand, CRecordset::none))
    			{
    				//Can not open pb : Exit
    				return Status_Changed;
    			}
    
    			if (f_pSignTable.CanAppend() == 0) return Status_Changed;
    
    
    			while (!f_pSignTable.IsEOF())
    			{
    
    				if (f_pSignTable.m_Name == f_SignName)
    				{
    					 Status_Changed = (f_pSignTable.m_Activity != ESignStatus[f_SignStatus]);
    
    					 if (Status_Changed)
    					 {
    						//f_pSignTable.MoveFirst();
    						f_pSignTable.Edit();
    						f_pSignTable.m_Activity = ESignStatus[f_SignStatus];
    						f_pSignTable.Update();					 }
    					 break;
    				}
    				 // Skip to the next resultline
    				f_pSignTable.MoveNext();
    			}
    
    			f_pSignTable.Close();
    
    		}

  2. #2
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Bonjour,
    Une autre alternative pour travailler avec les bases de données c'est d'utiliser ADO.NET en restant toujours dans les MFC.

    Tu as le choix entre une connexion SQL server ou OleDb ou ODBC avec les classes du DotNet. Car ces dernières sont plus finiolées et simples d'utilisation.

    Pour ton projet MFC tu configures simplement le projet afin qu'il supporte le runtime .NET

  3. #3
    Dos
    Dos est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 137
    Par défaut
    Merci Gabrielly, j'ai trouvé le problème, (il s'agissait de la base), mais je vais voir ce que tu me dis pour blinder le tout...

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MFC] Plantage sur LoadFrame
    Par thieum74 dans le forum MFC
    Réponses: 11
    Dernier message: 06/09/2007, 13h15
  2. [VB.NET] Pb sur update à partir champs Textbox
    Par patdez dans le forum ASP.NET
    Réponses: 5
    Dernier message: 28/06/2006, 09h28
  3. Evenement sur UPDATE, INSERT, DELETE
    Par papouAlain dans le forum Langage SQL
    Réponses: 6
    Dernier message: 23/12/2004, 14h58
  4. [DB2]Plantage sur COMMIT
    Par Dundee dans le forum DB2
    Réponses: 1
    Dernier message: 24/11/2004, 11h05
  5. [LG]plantage sur une commande basique !
    Par Jeff on the web dans le forum Langage
    Réponses: 5
    Dernier message: 13/01/2004, 19h07

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