begin process at 2010 03 20 13:57:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Divers

 > 

Plantage à cause de menus déroulants


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Plantage à cause de menus déroulants

lundi 23 juin 2003 à 12:46:02 | Plantage à cause de menus déroulants

MHidden

Bonjour,

La raison pour laquelle j'expose mon problème ici est que je le traîne depuis plusieurs semaines sans en trouver la solution, et que mon échéance de fin de projet se rapproche dangereusement.

Je développe un logiciel qui manipule différents formulaires, dont certains contiennent des menus déroulants. Quand je charge plusieurs des formulaires contenant ces menus déroulants, ça plante et le message suivant apparaît :

<<
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x784AB2B9
Function=RtlAllocateHeap+0x1AA
Library=C:\WINNT\System32\ntdll.dll
>>

Il est probable que j'accède à un moment donné à de la mémoire que je n'ai pas allouée. Je vous joins donc un petit morceau de code qui correspond à l'initialisation des données contenues dans un menu déroulant (données provenant d'une base Access).

Ce code contient très certainement au moins une erreur. Donc si quelqu'un pouvait me la corriger ou me donner des infos, cela me retirerait une grosse épine du pied.

//initialisation des MD
//MD acheteur
String query = "SELECT NomA FROM Acheteur";
Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet results = s.executeQuery(query);
int numrows = 0;
while(results.next() == true)
numrows++;

String [] liste_acheteur = new String[numrows];
results.beforeFirst();
int i=0;
while(results.next() == true)
{
liste_acheteur[i] = results.getString(1);
i++;
}
DefaultComboBoxModel modelAcheteur = new DefaultComboBoxModel(liste_acheteur);
JComboBox jcb_acheteur = new JComboBox(modelAcheteur);

Merci d'avance à ceux qui se pencheront sur mon problème !

MH
lundi 23 juin 2003 à 13:18:53 | Re : Plantage à cause de menus déroulants

dragon

Juste en passant, une bonne programmation, les déclaration de variable doit-être fait au début des class et non en pliens centre, puisque ça devient de plus en plus compliquer à corriger.

ton erruer est une erreur externe à java, donc une eerreur que je suppose du au lien qui relis java et ta base de donnée. Je suppose, soit que tu base de donnée est corrompus (si tu es sous access, tu as juste à cliquer sur réparer) ou soit que ta bases de donnée est plus récente que tes drivers NT. Par exemple, si tu as créé ta bases de donnée en oracle 9i et que les driver que tu possède est pour la 8i et moins, ça pourrais causé ce genre d'erreur, faudrais savoir comment tu tiens ouvert ta bases de donnée. Àq quel ligne ça plante exactement ??? tu devrais faire fonctionner ton programm en pas à pas pour savoir la ligne exact.

ça se pourrasi aussi que ça soit un problème de mémoire trop plienne mais habituellmenet, java te donne un message à propos de la mémoire virtuel, ce qui est pas le cas.

tu pourrais aussi faire une recherche sur intnernet à propos de cette fonction pour savoir c'est quoi " RtlAllocateHeap ", sur le site de microsoft, tu devrais trouver, au moins tu vas pouvoir comprendre ton erreur

-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
>
> La raison pour laquelle j'expose mon problème ici est que je le traîne depuis plusieurs semaines sans en trouver la solution, et que mon échéance de fin de projet se rapproche dangereusement.
>
> Je développe un logiciel qui manipule différents formulaires, dont certains contiennent des menus déroulants. Quand je charge plusieurs des formulaires contenant ces menus déroulants, ça plante et le message suivant apparaît :
>
> <<
> An unexpected exception has been detected in native code outside the VM.
> Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x784AB2B9
> Function=RtlAllocateHeap+0x1AA
> Library=C:\WINNT\System32\ntdll.dll
> >>
>
> Il est probable que j'accède à un moment donné à de la mémoire que je n'ai pas allouée. Je vous joins donc un petit morceau de code qui correspond à l'initialisation des données contenues dans un menu déroulant (données provenant d'une base Access).
>
> Ce code contient très certainement au moins une erreur. Donc si quelqu'un pouvait me la corriger ou me donner des infos, cela me retirerait une grosse épine du pied.
>
> //initialisation des MD
> //MD acheteur
> String query = "SELECT NomA FROM Acheteur";
> Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
> ResultSet results = s.executeQuery(query);
> int numrows = 0;
> while(results.next() == true)
> numrows++;
>
> String [] liste_acheteur = new String[numrows];
> results.beforeFirst();
> int i=0;
> while(results.next() == true)
> {
> liste_acheteur[i] = results.getString(1);
> i++;
> }
> DefaultComboBoxModel modelAcheteur = new DefaultComboBoxModel(liste_acheteur);
> JComboBox jcb_acheteur = new JComboBox(modelAcheteur);
>
> Merci d'avance à ceux qui se pencheront sur mon problème !
>
> MH
mardi 24 juin 2003 à 14:28:27 | Re : Plantage à cause de menus déroulants

MHidden

Salut,

Tout d'abord, merci d'avoir répondu !

Ta réponse m'intéresse beaucoup, mais j'aurais besoin de quelques précisions.

ça signifie quoi exactement une base de données "corrompue" ? Où se trouve le bouton "réparer" sur lequel tu m'as conseillé de cliquer ?

Et surtout ça correspond à quoi les drivers NT ? Au fichier ntdll.dll par exemple ?

Par ailleurs, la ligne qui plante change à chaque plantage, mais très souvent c'est une commande "executeQuery".

Merci !


MH


-------------------------------
Réponse au message :
-------------------------------

> Juste en passant, une bonne programmation, les déclaration de variable doit-être fait au début des class et non en pliens centre, puisque ça devient de plus en plus compliquer à corriger.
>
> ton erruer est une erreur externe à java, donc une eerreur que je suppose du au lien qui relis java et ta base de donnée. Je suppose, soit que tu base de donnée est corrompus (si tu es sous access, tu as juste à cliquer sur réparer) ou soit que ta bases de donnée est plus récente que tes drivers NT. Par exemple, si tu as créé ta bases de donnée en oracle 9i et que les driver que tu possède est pour la 8i et moins, ça pourrais causé ce genre d'erreur, faudrais savoir comment tu tiens ouvert ta bases de donnée. Àq quel ligne ça plante exactement ??? tu devrais faire fonctionner ton programm en pas à pas pour savoir la ligne exact.
>
> ça se pourrasi aussi que ça soit un problème de mémoire trop plienne mais habituellmenet, java te donne un message à propos de la mémoire virtuel, ce qui est pas le cas.
>
> tu pourrais aussi faire une recherche sur intnernet à propos de cette fonction pour savoir c'est quoi " RtlAllocateHeap ", sur le site de microsoft, tu devrais trouver, au moins tu vas pouvoir comprendre ton erreur
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour,
> >
> > La raison pour laquelle j'expose mon problème ici est que je le traîne depuis plusieurs semaines sans en trouver la solution, et que mon échéance de fin de projet se rapproche dangereusement.
> >
> > Je développe un logiciel qui manipule différents formulaires, dont certains contiennent des menus déroulants. Quand je charge plusieurs des formulaires contenant ces menus déroulants, ça plante et le message suivant apparaît :
> >
> > <<
> > An unexpected exception has been detected in native code outside the VM.
> > Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x784AB2B9
> > Function=RtlAllocateHeap+0x1AA
> > Library=C:\WINNT\System32\ntdll.dll
> > >>
> >
> > Il est probable que j'accède à un moment donné à de la mémoire que je n'ai pas allouée. Je vous joins donc un petit morceau de code qui correspond à l'initialisation des données contenues dans un menu déroulant (données provenant d'une base Access).
> >
> > Ce code contient très certainement au moins une erreur. Donc si quelqu'un pouvait me la corriger ou me donner des infos, cela me retirerait une grosse épine du pied.
> >
> > //initialisation des MD
> > //MD acheteur
> > String query = "SELECT NomA FROM Acheteur";
> > Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
> > ResultSet results = s.executeQuery(query);
> > int numrows = 0;
> > while(results.next() == true)
> > numrows++;
> >
> > String [] liste_acheteur = new String[numrows];
> > results.beforeFirst();
> > int i=0;
> > while(results.next() == true)
> > {
> > liste_acheteur[i] = results.getString(1);
> > i++;
> > }
> > DefaultComboBoxModel modelAcheteur = new DefaultComboBoxModel(liste_acheteur);
> > JComboBox jcb_acheteur = new JComboBox(modelAcheteur);
> >
> > Merci d'avance à ceux qui se pencheront sur mon problème !
> >
> > MH
>
mardi 24 juin 2003 à 16:15:08 | Re : Plantage à cause de menus déroulants

dragon

faudrais savoir si l'erreur est normal aussi, comme un select mal fait ou qui point vers dequoi de non valide.

si ta bases de donnée est corrumpu, t'inquiète, sous access, ça le fait au moins une fois semaine sur une grosse base de donnée. Ouvre access et ouvre ta base de donnée, puis dans les menu en haut, tu vas trouver à quelques part dasn les menu, réparer base de donnée et compacter base de donnée. Je te conseil de compacter puis de réparer par la suite ou encore mieux, réparer, compacter et réparer encore.

tu travail sur quel baes de donnée, access ou oracle ???

-------------------------------
Réponse au message :
-------------------------------

> Salut,
>
> Tout d'abord, merci d'avoir répondu !
>
> Ta réponse m'intéresse beaucoup, mais j'aurais besoin de quelques précisions.
>
> ça signifie quoi exactement une base de données "corrompue" ? Où se trouve le bouton "réparer" sur lequel tu m'as conseillé de cliquer ?
>
> Et surtout ça correspond à quoi les drivers NT ? Au fichier ntdll.dll par exemple ?
>
> Par ailleurs, la ligne qui plante change à chaque plantage, mais très souvent c'est une commande "executeQuery".
>
> Merci !
>
>
> MH
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Juste en passant, une bonne programmation, les déclaration de variable doit-être fait au début des class et non en pliens centre, puisque ça devient de plus en plus compliquer à corriger.
> >
> > ton erruer est une erreur externe à java, donc une eerreur que je suppose du au lien qui relis java et ta base de donnée. Je suppose, soit que tu base de donnée est corrompus (si tu es sous access, tu as juste à cliquer sur réparer) ou soit que ta bases de donnée est plus récente que tes drivers NT. Par exemple, si tu as créé ta bases de donnée en oracle 9i et que les driver que tu possède est pour la 8i et moins, ça pourrais causé ce genre d'erreur, faudrais savoir comment tu tiens ouvert ta bases de donnée. Àq quel ligne ça plante exactement ??? tu devrais faire fonctionner ton programm en pas à pas pour savoir la ligne exact.
> >
> > ça se pourrasi aussi que ça soit un problème de mémoire trop plienne mais habituellmenet, java te donne un message à propos de la mémoire virtuel, ce qui est pas le cas.
> >
> > tu pourrais aussi faire une recherche sur intnernet à propos de cette fonction pour savoir c'est quoi " RtlAllocateHeap ", sur le site de microsoft, tu devrais trouver, au moins tu vas pouvoir comprendre ton erreur
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Bonjour,
> > >
> > > La raison pour laquelle j'expose mon problème ici est que je le traîne depuis plusieurs semaines sans en trouver la solution, et que mon échéance de fin de projet se rapproche dangereusement.
> > >
> > > Je développe un logiciel qui manipule différents formulaires, dont certains contiennent des menus déroulants. Quand je charge plusieurs des formulaires contenant ces menus déroulants, ça plante et le message suivant apparaît :
> > >
> > > <<
> > > An unexpected exception has been detected in native code outside the VM.
> > > Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x784AB2B9
> > > Function=RtlAllocateHeap+0x1AA
> > > Library=C:\WINNT\System32\ntdll.dll
> > > >>
> > >
> > > Il est probable que j'accède à un moment donné à de la mémoire que je n'ai pas allouée. Je vous joins donc un petit morceau de code qui correspond à l'initialisation des données contenues dans un menu déroulant (données provenant d'une base Access).
> > >
> > > Ce code contient très certainement au moins une erreur. Donc si quelqu'un pouvait me la corriger ou me donner des infos, cela me retirerait une grosse épine du pied.
> > >
> > > //initialisation des MD
> > > //MD acheteur
> > > String query = "SELECT NomA FROM Acheteur";
> > > Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
> > > ResultSet results = s.executeQuery(query);
> > > int numrows = 0;
> > > while(results.next() == true)
> > > numrows++;
> > >
> > > String [] liste_acheteur = new String[numrows];
> > > results.beforeFirst();
> > > int i=0;
> > > while(results.next() == true)
> > > {
> > > liste_acheteur[i] = results.getString(1);
> > > i++;
> > > }
> > > DefaultComboBoxModel modelAcheteur = new DefaultComboBoxModel(liste_acheteur);
> > > JComboBox jcb_acheteur = new JComboBox(modelAcheteur);
> > >
> > > Merci d'avance à ceux qui se pencheront sur mon problème !
> > >
> > > MH
> >
>
mercredi 25 juin 2003 à 10:21:11 | Re : Plantage à cause de menus déroulants

MHidden

Voilà un exemple de Semect que je fait :
query = "SELECT NomF FROM Fournisseur";
Comme tu le vois c'est une commande très simple donc je ne pense pas que mes Select soient mal faits.

J'ai essayé de faire réparer-->compacter-->réparer mais ça plante toujours de la même façon.

Ce qui est bizarre c'est que quand je charge mon formulaire qui contient des menus déroulants, ça plante pas. C'est quand je le charge une deuxième fois (en cliquant sur retour puis en revenant) que ça plante.

Sinon je travaille sur une base de données Access.


MH


-------------------------------
Réponse au message :
-------------------------------

> faudrais savoir si l'erreur est normal aussi, comme un select mal fait ou qui point vers dequoi de non valide.
>
> si ta bases de donnée est corrumpu, t'inquiète, sous access, ça le fait au moins une fois semaine sur une grosse base de donnée. Ouvre access et ouvre ta base de donnée, puis dans les menu en haut, tu vas trouver à quelques part dasn les menu, réparer base de donnée et compacter base de donnée. Je te conseil de compacter puis de réparer par la suite ou encore mieux, réparer, compacter et réparer encore.
>
> tu travail sur quel baes de donnée, access ou oracle ???
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> >
> > Tout d'abord, merci d'avoir répondu !
> >
> > Ta réponse m'intéresse beaucoup, mais j'aurais besoin de quelques précisions.
> >
> > ça signifie quoi exactement une base de données "corrompue" ? Où se trouve le bouton "réparer" sur lequel tu m'as conseillé de cliquer ?
> >
> > Et surtout ça correspond à quoi les drivers NT ? Au fichier ntdll.dll par exemple ?
> >
> > Par ailleurs, la ligne qui plante change à chaque plantage, mais très souvent c'est une commande "executeQuery".
> >
> > Merci !
> >
> >
> > MH
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Juste en passant, une bonne programmation, les déclaration de variable doit-être fait au début des class et non en pliens centre, puisque ça devient de plus en plus compliquer à corriger.
> > >
> > > ton erruer est une erreur externe à java, donc une eerreur que je suppose du au lien qui relis java et ta base de donnée. Je suppose, soit que tu base de donnée est corrompus (si tu es sous access, tu as juste à cliquer sur réparer) ou soit que ta bases de donnée est plus récente que tes drivers NT. Par exemple, si tu as créé ta bases de donnée en oracle 9i et que les driver que tu possède est pour la 8i et moins, ça pourrais causé ce genre d'erreur, faudrais savoir comment tu tiens ouvert ta bases de donnée. Àq quel ligne ça plante exactement ??? tu devrais faire fonctionner ton programm en pas à pas pour savoir la ligne exact.
> > >
> > > ça se pourrasi aussi que ça soit un problème de mémoire trop plienne mais habituellmenet, java te donne un message à propos de la mémoire virtuel, ce qui est pas le cas.
> > >
> > > tu pourrais aussi faire une recherche sur intnernet à propos de cette fonction pour savoir c'est quoi " RtlAllocateHeap ", sur le site de microsoft, tu devrais trouver, au moins tu vas pouvoir comprendre ton erreur
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Bonjour,
> > > >
> > > > La raison pour laquelle j'expose mon problème ici est que je le traîne depuis plusieurs semaines sans en trouver la solution, et que mon échéance de fin de projet se rapproche dangereusement.
> > > >
> > > > Je développe un logiciel qui manipule différents formulaires, dont certains contiennent des menus déroulants. Quand je charge plusieurs des formulaires contenant ces menus déroulants, ça plante et le message suivant apparaît :
> > > >
> > > > <<
> > > > An unexpected exception has been detected in native code outside the VM.
> > > > Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x784AB2B9
> > > > Function=RtlAllocateHeap+0x1AA
> > > > Library=C:\WINNT\System32\ntdll.dll
> > > > >>
> > > >
> > > > Il est probable que j'accède à un moment donné à de la mémoire que je n'ai pas allouée. Je vous joins donc un petit morceau de code qui correspond à l'initialisation des données contenues dans un menu déroulant (données provenant d'une base Access).
> > > >
> > > > Ce code contient très certainement au moins une erreur. Donc si quelqu'un pouvait me la corriger ou me donner des infos, cela me retirerait une grosse épine du pied.
> > > >
> > > > //initialisation des MD
> > > > //MD acheteur
> > > > String query = "SELECT NomA FROM Acheteur";
> > > > Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
> > > > ResultSet results = s.executeQuery(query);
> > > > int numrows = 0;
> > > > while(results.next() == true)
> > > > numrows++;
> > > >
> > > > String [] liste_acheteur = new String[numrows];
> > > > results.beforeFirst();
> > > > int i=0;
> > > > while(results.next() == true)
> > > > {
> > > > liste_acheteur[i] = results.getString(1);
> > > > i++;
> > > > }
> > > > DefaultComboBoxModel modelAcheteur = new DefaultComboBoxModel(liste_acheteur);
> > > > JComboBox jcb_acheteur = new JComboBox(modelAcheteur);
> > > >
> > > > Merci d'avance à ceux qui se pencheront sur mon problème !
> > > >
> > > > MH
> > >
> >
>
mercredi 25 juin 2003 à 13:07:21 | Re : Plantage à cause de menus déroulants

dragon

la première fois ça plante pas, mais la 2e fois oui .... ça se peut tu que les donner sont pas effacer lorsque tu essai de le réouvrir pis ça lante puisqu'il y a déjà des donner.

-------------------------------
Réponse au message :
-------------------------------

> Voilà un exemple de Semect que je fait :
> query = "SELECT NomF FROM Fournisseur";
> Comme tu le vois c'est une commande très simple donc je ne pense pas que mes Select soient mal faits.
>
> J'ai essayé de faire réparer-->compacter-->réparer mais ça plante toujours de la même façon.
>
> Ce qui est bizarre c'est que quand je charge mon formulaire qui contient des menus déroulants, ça plante pas. C'est quand je le charge une deuxième fois (en cliquant sur retour puis en revenant) que ça plante.
>
> Sinon je travaille sur une base de données Access.
>
>
> MH
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > faudrais savoir si l'erreur est normal aussi, comme un select mal fait ou qui point vers dequoi de non valide.
> >
> > si ta bases de donnée est corrumpu, t'inquiète, sous access, ça le fait au moins une fois semaine sur une grosse base de donnée. Ouvre access et ouvre ta base de donnée, puis dans les menu en haut, tu vas trouver à quelques part dasn les menu, réparer base de donnée et compacter base de donnée. Je te conseil de compacter puis de réparer par la suite ou encore mieux, réparer, compacter et réparer encore.
> >
> > tu travail sur quel baes de donnée, access ou oracle ???
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut,
> > >
> > > Tout d'abord, merci d'avoir répondu !
> > >
> > > Ta réponse m'intéresse beaucoup, mais j'aurais besoin de quelques précisions.
> > >
> > > ça signifie quoi exactement une base de données "corrompue" ? Où se trouve le bouton "réparer" sur lequel tu m'as conseillé de cliquer ?
> > >
> > > Et surtout ça correspond à quoi les drivers NT ? Au fichier ntdll.dll par exemple ?
> > >
> > > Par ailleurs, la ligne qui plante change à chaque plantage, mais très souvent c'est une commande "executeQuery".
> > >
> > > Merci !
> > >
> > >
> > > MH
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Juste en passant, une bonne programmation, les déclaration de variable doit-être fait au début des class et non en pliens centre, puisque ça devient de plus en plus compliquer à corriger.
> > > >
> > > > ton erruer est une erreur externe à java, donc une eerreur que je suppose du au lien qui relis java et ta base de donnée. Je suppose, soit que tu base de donnée est corrompus (si tu es sous access, tu as juste à cliquer sur réparer) ou soit que ta bases de donnée est plus récente que tes drivers NT. Par exemple, si tu as créé ta bases de donnée en oracle 9i et que les driver que tu possède est pour la 8i et moins, ça pourrais causé ce genre d'erreur, faudrais savoir comment tu tiens ouvert ta bases de donnée. Àq quel ligne ça plante exactement ??? tu devrais faire fonctionner ton programm en pas à pas pour savoir la ligne exact.
> > > >
> > > > ça se pourrasi aussi que ça soit un problème de mémoire trop plienne mais habituellmenet, java te donne un message à propos de la mémoire virtuel, ce qui est pas le cas.
> > > >
> > > > tu pourrais aussi faire une recherche sur intnernet à propos de cette fonction pour savoir c'est quoi " RtlAllocateHeap ", sur le site de microsoft, tu devrais trouver, au moins tu vas pouvoir comprendre ton erreur
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Bonjour,
> > > > >
> > > > > La raison pour laquelle j'expose mon problème ici est que je le traîne depuis plusieurs semaines sans en trouver la solution, et que mon échéance de fin de projet se rapproche dangereusement.
> > > > >
> > > > > Je développe un logiciel qui manipule différents formulaires, dont certains contiennent des menus déroulants. Quand je charge plusieurs des formulaires contenant ces menus déroulants, ça plante et le message suivant apparaît :
> > > > >
> > > > > <<
> > > > > An unexpected exception has been detected in native code outside the VM.
> > > > > Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x784AB2B9
> > > > > Function=RtlAllocateHeap+0x1AA
> > > > > Library=C:\WINNT\System32\ntdll.dll
> > > > > >>
> > > > >
> > > > > Il est probable que j'accède à un moment donné à de la mémoire que je n'ai pas allouée. Je vous joins donc un petit morceau de code qui correspond à l'initialisation des données contenues dans un menu déroulant (données provenant d'une base Access).
> > > > >
> > > > > Ce code contient très certainement au moins une erreur. Donc si quelqu'un pouvait me la corriger ou me donner des infos, cela me retirerait une grosse épine du pied.
> > > > >
> > > > > //initialisation des MD
> > > > > //MD acheteur
> > > > > String query = "SELECT NomA FROM Acheteur";
> > > > > Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
> > > > > ResultSet results = s.executeQuery(query);
> > > > > int numrows = 0;
> > > > > while(results.next() == true)
> > > > > numrows++;
> > > > >
> > > > > String [] liste_acheteur = new String[numrows];
> > > > > results.beforeFirst();
> > > > > int i=0;
> > > > > while(results.next() == true)
> > > > > {
> > > > > liste_acheteur[i] = results.getString(1);
> > > > > i++;
> > > > > }
> > > > > DefaultComboBoxModel modelAcheteur = new DefaultComboBoxModel(liste_acheteur);
> > > > > JComboBox jcb_acheteur = new JComboBox(modelAcheteur);
> > > > >
> > > > > Merci d'avance à ceux qui se pencheront sur mon problème !
> > > > >
> > > > > MH
> > > >
> > >
> >
>
lundi 30 juin 2003 à 11:42:18 | Re : Plantage à cause de menus déroulants

MHidden

Salut,

ça se peut effectivement. Du coup j'ai essayé d'écrire une méthode "Nettoyage()" dans laquelle je fais des
f.remove(composant) (f c'est la JFrame de mon formulaire), mais ça plante toujours. Peut-être que tu connaîs d'autres méthodes de nettoyage plus efficaces (genre delete ou des trucs comme ça) ??


MH


-------------------------------
Réponse au message :
-------------------------------

> la première fois ça plante pas, mais la 2e fois oui .... ça se peut tu que les donner sont pas effacer lorsque tu essai de le réouvrir pis ça lante puisqu'il y a déjà des donner.
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Voilà un exemple de Semect que je fait :
> > query = "SELECT NomF FROM Fournisseur";
> > Comme tu le vois c'est une commande très simple donc je ne pense pas que mes Select soient mal faits.
> >
> > J'ai essayé de faire réparer-->compacter-->réparer mais ça plante toujours de la même façon.
> >
> > Ce qui est bizarre c'est que quand je charge mon formulaire qui contient des menus déroulants, ça plante pas. C'est quand je le charge une deuxième fois (en cliquant sur retour puis en revenant) que ça plante.
> >
> > Sinon je travaille sur une base de données Access.
> >
> >
> > MH
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > faudrais savoir si l'erreur est normal aussi, comme un select mal fait ou qui point vers dequoi de non valide.
> > >
> > > si ta bases de donnée est corrumpu, t'inquiète, sous access, ça le fait au moins une fois semaine sur une grosse base de donnée. Ouvre access et ouvre ta base de donnée, puis dans les menu en haut, tu vas trouver à quelques part dasn les menu, réparer base de donnée et compacter base de donnée. Je te conseil de compacter puis de réparer par la suite ou encore mieux, réparer, compacter et réparer encore.
> > >
> > > tu travail sur quel baes de donnée, access ou oracle ???
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Salut,
> > > >
> > > > Tout d'abord, merci d'avoir répondu !
> > > >
> > > > Ta réponse m'intéresse beaucoup, mais j'aurais besoin de quelques précisions.
> > > >
> > > > ça signifie quoi exactement une base de données "corrompue" ? Où se trouve le bouton "réparer" sur lequel tu m'as conseillé de cliquer ?
> > > >
> > > > Et surtout ça correspond à quoi les drivers NT ? Au fichier ntdll.dll par exemple ?
> > > >
> > > > Par ailleurs, la ligne qui plante change à chaque plantage, mais très souvent c'est une commande "executeQuery".
> > > >
> > > > Merci !
> > > >
> > > >
> > > > MH
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Juste en passant, une bonne programmation, les déclaration de variable doit-être fait au début des class et non en pliens centre, puisque ça devient de plus en plus compliquer à corriger.
> > > > >
> > > > > ton erruer est une erreur externe à java, donc une eerreur que je suppose du au lien qui relis java et ta base de donnée. Je suppose, soit que tu base de donnée est corrompus (si tu es sous access, tu as juste à cliquer sur réparer) ou soit que ta bases de donnée est plus récente que tes drivers NT. Par exemple, si tu as créé ta bases de donnée en oracle 9i et que les driver que tu possède est pour la 8i et moins, ça pourrais causé ce genre d'erreur, faudrais savoir comment tu tiens ouvert ta bases de donnée. Àq quel ligne ça plante exactement ??? tu devrais faire fonctionner ton programm en pas à pas pour savoir la ligne exact.
> > > > >
> > > > > ça se pourrasi aussi que ça soit un problème de mémoire trop plienne mais habituellmenet, java te donne un message à propos de la mémoire virtuel, ce qui est pas le cas.
> > > > >
> > > > > tu pourrais aussi faire une recherche sur intnernet à propos de cette fonction pour savoir c'est quoi " RtlAllocateHeap ", sur le site de microsoft, tu devrais trouver, au moins tu vas pouvoir comprendre ton erreur
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Bonjour,
> > > > > >
> > > > > > La raison pour laquelle j'expose mon problème ici est que je le traîne depuis plusieurs semaines sans en trouver la solution, et que mon échéance de fin de projet se rapproche dangereusement.
> > > > > >
> > > > > > Je développe un logiciel qui manipule différents formulaires, dont certains contiennent des menus déroulants. Quand je charge plusieurs des formulaires contenant ces menus déroulants, ça plante et le message suivant apparaît :
> > > > > >
> > > > > > <<
> > > > > > An unexpected exception has been detected in native code outside the VM.
> > > > > > Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x784AB2B9
> > > > > > Function=RtlAllocateHeap+0x1AA
> > > > > > Library=C:\WINNT\System32\ntdll.dll
> > > > > > >>
> > > > > >
> > > > > > Il est probable que j'accède à un moment donné à de la mémoire que je n'ai pas allouée. Je vous joins donc un petit morceau de code qui correspond à l'initialisation des données contenues dans un menu déroulant (données provenant d'une base Access).
> > > > > >
> > > > > > Ce code contient très certainement au moins une erreur. Donc si quelqu'un pouvait me la corriger ou me donner des infos, cela me retirerait une grosse épine du pied.
> > > > > >
> > > > > > //initialisation des MD
> > > > > > //MD acheteur
> > > > > > String query = "SELECT NomA FROM Acheteur";
> > > > > > Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
> > > > > > ResultSet results = s.executeQuery(query);
> > > > > > int numrows = 0;
> > > > > > while(results.next() == true)
> > > > > > numrows++;
> > > > > >
> > > > > > String [] liste_acheteur = new String[numrows];
> > > > > > results.beforeFirst();
> > > > > > int i=0;
> > > > > > while(results.next() == true)
> > > > > > {
> > > > > > liste_acheteur[i] = results.getString(1);
> > > > > > i++;
> > > > > > }
> > > > > > DefaultComboBoxModel modelAcheteur = new DefaultComboBoxModel(liste_acheteur);
> > > > > > JComboBox jcb_acheteur = new JComboBox(modelAcheteur);
> > > > > >
> > > > > > Merci d'avance à ceux qui se pencheront sur mon problème !
> > > > > >
> > > > > > MH
> > > > >
> > > >
> > >
> >
>
lundi 30 juin 2003 à 13:17:19 | Re : Plantage à cause de menus déroulants

dragon

est e que tu ferme bien ta variable à al fin de ta classe ????

s.close ???

peut aussi essayer les méthodes

s.clearBatch();
s.clearWarnings();

pour supprimer ce qui est en mémoire, on sait jamais, masi d'après moi, ton erreur c'est des données toujours porésente ou des variables ou ta base de donnée toujours ouvert ou, encore, que ta base de donnée est fermer (masi je crois moins ce cas là, puisque tu l'ouvre d'après ce que j'ai pus voir)

-------------------------------
Réponse au message :
-------------------------------

> Salut,
>
> ça se peut effectivement. Du coup j'ai essayé d'écrire une méthode "Nettoyage()" dans laquelle je fais des
> f.remove(composant) (f c'est la JFrame de mon formulaire), mais ça plante toujours. Peut-être que tu connaîs d'autres méthodes de nettoyage plus efficaces (genre delete ou des trucs comme ça) ??
>
>
> MH
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > la première fois ça plante pas, mais la 2e fois oui .... ça se peut tu que les donner sont pas effacer lorsque tu essai de le réouvrir pis ça lante puisqu'il y a déjà des donner.
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Voilà un exemple de Semect que je fait :
> > > query = "SELECT NomF FROM Fournisseur";
> > > Comme tu le vois c'est une commande très simple donc je ne pense pas que mes Select soient mal faits.
> > >
> > > J'ai essayé de faire réparer-->compacter-->réparer mais ça plante toujours de la même façon.
> > >
> > > Ce qui est bizarre c'est que quand je charge mon formulaire qui contient des menus déroulants, ça plante pas. C'est quand je le charge une deuxième fois (en cliquant sur retour puis en revenant) que ça plante.
> > >
> > > Sinon je travaille sur une base de données Access.
> > >
> > >
> > > MH
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > faudrais savoir si l'erreur est normal aussi, comme un select mal fait ou qui point vers dequoi de non valide.
> > > >
> > > > si ta bases de donnée est corrumpu, t'inquiète, sous access, ça le fait au moins une fois semaine sur une grosse base de donnée. Ouvre access et ouvre ta base de donnée, puis dans les menu en haut, tu vas trouver à quelques part dasn les menu, réparer base de donnée et compacter base de donnée. Je te conseil de compacter puis de réparer par la suite ou encore mieux, réparer, compacter et réparer encore.
> > > >
> > > > tu travail sur quel baes de donnée, access ou oracle ???
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Salut,
> > > > >
> > > > > Tout d'abord, merci d'avoir répondu !
> > > > >
> > > > > Ta réponse m'intéresse beaucoup, mais j'aurais besoin de quelques précisions.
> > > > >
> > > > > ça signifie quoi exactement une base de données "corrompue" ? Où se trouve le bouton "réparer" sur lequel tu m'as conseillé de cliquer ?
> > > > >
> > > > > Et surtout ça correspond à quoi les drivers NT ? Au fichier ntdll.dll par exemple ?
> > > > >
> > > > > Par ailleurs, la ligne qui plante change à chaque plantage, mais très souvent c'est une commande "executeQuery".
> > > > >
> > > > > Merci !
> > > > >
> > > > >
> > > > > MH
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Juste en passant, une bonne programmation, les déclaration de variable doit-être fait au début des class et non en pliens centre, puisque ça devient de plus en plus compliquer à corriger.
> > > > > >
> > > > > > ton erruer est une erreur externe à java, donc une eerreur que je suppose du au lien qui relis java et ta base de donnée. Je suppose, soit que tu base de donnée est corrompus (si tu es sous access, tu as juste à cliquer sur réparer) ou soit que ta bases de donnée est plus récente que tes drivers NT. Par exemple, si tu as créé ta bases de donnée en oracle 9i et que les driver que tu possède est pour la 8i et moins, ça pourrais causé ce genre d'erreur, faudrais savoir comment tu tiens ouvert ta bases de donnée. Àq quel ligne ça plante exactement ??? tu devrais faire fonctionner ton programm en pas à pas pour savoir la ligne exact.
> > > > > >
> > > > > > ça se pourrasi aussi que ça soit un problème de mémoire trop plienne mais habituellmenet, java te donne un message à propos de la mémoire virtuel, ce qui est pas le cas.
> > > > > >
> > > > > > tu pourrais aussi faire une recherche sur intnernet à propos de cette fonction pour savoir c'est quoi " RtlAllocateHeap ", sur le site de microsoft, tu devrais trouver, au moins tu vas pouvoir comprendre ton erreur
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > Bonjour,
> > > > > > >
> > > > > > > La raison pour laquelle j'expose mon problème ici est que je le traîne depuis plusieurs semaines sans en trouver la solution, et que mon échéance de fin de projet se rapproche dangereusement.
> > > > > > >
> > > > > > > Je développe un logiciel qui manipule différents formulaires, dont certains contiennent des menus déroulants. Quand je charge plusieurs des formulaires contenant ces menus déroulants, ça plante et le message suivant apparaît :
> > > > > > >
> > > > > > > <<
> > > > > > > An unexpected exception has been detected in native code outside the VM.
> > > > > > > Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x784AB2B9
> > > > > > > Function=RtlAllocateHeap+0x1AA
> > > > > > > Library=C:\WINNT\System32\ntdll.dll
> > > > > > > >>
> > > > > > >
> > > > > > > Il est probable que j'accède à un moment donné à de la mémoire que je n'ai pas allouée. Je vous joins donc un petit morceau de code qui correspond à l'initialisation des données contenues dans un menu déroulant (données provenant d'une base Access).
> > > > > > >
> > > > > > > Ce code contient très certainement au moins une erreur. Donc si quelqu'un pouvait me la corriger ou me donner des infos, cela me retirerait une grosse épine du pied.
> > > > > > >
> > > > > > > //initialisation des MD
> > > > > > > //MD acheteur
> > > > > > > String query = "SELECT NomA FROM Acheteur";
> > > > > > > Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
> > > > > > > ResultSet results = s.executeQuery(query);
> > > > > > > int numrows = 0;
> > > > > > > while(results.next() == true)
> > > > > > > numrows++;
> > > > > > >
> > > > > > > String [] liste_acheteur = new String[numrows];
> > > > > > > results.beforeFirst();
> > > > > > > int i=0;
> > > > > > > while(results.next() == true)
> > > > > > > {
> > > > > > > liste_acheteur[i] = results.getString(1);
> > > > > > > i++;
> > > > > > > }
> > > > > > > DefaultComboBoxModel modelAcheteur = new DefaultComboBoxModel(liste_acheteur);
> > > > > > > JComboBox jcb_acheteur = new JComboBox(modelAcheteur);
> > > > > > >
> > > > > > > Merci d'avance à ceux qui se pencheront sur mon problème !
> > > > > > >
> > > > > > > MH
> > > > > >
> > > > >
> > > >
> > >
> >
>
lundi 30 juin 2003 à 16:29:56 | Re : Plantage à cause de menus déroulants

MHidden

ça y est ! CA MARCHE !!

effectivement je ne fermais aucune de mes variables "Statement" qui pourtant sont très nombreuses. Mais maintenant ça tourne.

Merci beaucoup ! Ton aide m'a été très précieuse !


MH


-------------------------------
Réponse au message :
-------------------------------

> est e que tu ferme bien ta variable à al fin de ta classe ????
>
> s.close ???
>
> peut aussi essayer les méthodes
>
> s.clearBatch();
> s.clearWarnings();
>
> pour supprimer ce qui est en mémoire, on sait jamais, masi d'après moi, ton erreur c'est des données toujours porésente ou des variables ou ta base de donnée toujours ouvert ou, encore, que ta base de donnée est fermer (masi je crois moins ce cas là, puisque tu l'ouvre d'après ce que j'ai pus voir)
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> >
> > ça se peut effectivement. Du coup j'ai essayé d'écrire une méthode "Nettoyage()" dans laquelle je fais des
> > f.remove(composant) (f c'est la JFrame de mon formulaire), mais ça plante toujours. Peut-être que tu connaîs d'autres méthodes de nettoyage plus efficaces (genre delete ou des trucs comme ça) ??
> >
> >
> > MH
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > la première fois ça plante pas, mais la 2e fois oui .... ça se peut tu que les donner sont pas effacer lorsque tu essai de le réouvrir pis ça lante puisqu'il y a déjà des donner.
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Voilà un exemple de Semect que je fait :
> > > > query = "SELECT NomF FROM Fournisseur";
> > > > Comme tu le vois c'est une commande très simple donc je ne pense pas que mes Select soient mal faits.
> > > >
> > > > J'ai essayé de faire réparer-->compacter-->réparer mais ça plante toujours de la même façon.
> > > >
> > > > Ce qui est bizarre c'est que quand je charge mon formulaire qui contient des menus déroulants, ça plante pas. C'est quand je le charge une deuxième fois (en cliquant sur retour puis en revenant) que ça plante.
> > > >
> > > > Sinon je travaille sur une base de données Access.
> > > >
> > > >
> > > > MH
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > faudrais savoir si l'erreur est normal aussi, comme un select mal fait ou qui point vers dequoi de non valide.
> > > > >
> > > > > si ta bases de donnée est corrumpu, t'inquiète, sous access, ça le fait au moins une fois semaine sur une grosse base de donnée. Ouvre access et ouvre ta base de donnée, puis dans les menu en haut, tu vas trouver à quelques part dasn les menu, réparer base de donnée et compacter base de donnée. Je te conseil de compacter puis de réparer par la suite ou encore mieux, réparer, compacter et réparer encore.
> > > > >
> > > > > tu travail sur quel baes de donnée, access ou oracle ???
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Salut,
> > > > > >
> > > > > > Tout d'abord, merci d'avoir répondu !
> > > > > >
> > > > > > Ta réponse m'intéresse beaucoup, mais j'aurais besoin de quelques précisions.
> > > > > >
> > > > > > ça signifie quoi exactement une base de données "corrompue" ? Où se trouve le bouton "réparer" sur lequel tu m'as conseillé de cliquer ?
> > > > > >
> > > > > > Et surtout ça correspond à quoi les drivers NT ? Au fichier ntdll.dll par exemple ?
> > > > > >
> > > > > > Par ailleurs, la ligne qui plante change à chaque plantage, mais très souvent c'est une commande "executeQuery".
> > > > > >
> > > > > > Merci !
> > > > > >
> > > > > >
> > > > > > MH
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > Juste en passant, une bonne programmation, les déclaration de variable doit-être fait au début des class et non en pliens centre, puisque ça devient de plus en plus compliquer à corriger.
> > > > > > >
> > > > > > > ton erruer est une erreur externe à java, donc une eerreur que je suppose du au lien qui relis java et ta base de donnée. Je suppose, soit que tu base de donnée est corrompus (si tu es sous access, tu as juste à cliquer sur réparer) ou soit que ta bases de donnée est plus récente que tes drivers NT. Par exemple, si tu as créé ta bases de donnée en oracle 9i et que les driver que tu possède est pour la 8i et moins, ça pourrais causé ce genre d'erreur, faudrais savoir comment tu tiens ouvert ta bases de donnée. Àq quel ligne ça plante exactement ??? tu devrais faire fonctionner ton programm en pas à pas pour savoir la ligne exact.
> > > > > > >
> > > > > > > ça se pourrasi aussi que ça soit un problème de mémoire trop plienne mais habituellmenet, java te donne un message à propos de la mémoire virtuel, ce qui est pas le cas.
> > > > > > >
> > > > > > > tu pourrais aussi faire une recherche sur intnernet à propos de cette fonction pour savoir c'est quoi " RtlAllocateHeap ", sur le site de microsoft, tu devrais trouver, au moins tu vas pouvoir comprendre ton erreur
> > > > > > >
> > > > > > > -------------------------------
> > > > > > > Réponse au message :
> > > > > > > -------------------------------
> > > > > > >
> > > > > > > > Bonjour,
> > > > > > > >
> > > > > > > > La raison pour laquelle j'expose mon problème ici est que je le traîne depuis plusieurs semaines sans en trouver la solution, et que mon échéance de fin de projet se rapproche dangereusement.
> > > > > > > >
> > > > > > > > Je développe un logiciel qui manipule différents formulaires, dont certains contiennent des menus déroulants. Quand je charge plusieurs des formulaires contenant ces menus déroulants, ça plante et le message suivant apparaît :
> > > > > > > >
> > > > > > > > <<
> > > > > > > > An unexpected exception has been detected in native code outside the VM.
> > > > > > > > Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x784AB2B9
> > > > > > > > Function=RtlAllocateHeap+0x1AA
> > > > > > > > Library=C:\WINNT\System32\ntdll.dll
> > > > > > > > >>
> > > > > > > >
> > > > > > > > Il est probable que j'accède à un moment donné à de la mémoire que je n'ai pas allouée. Je vous joins donc un petit morceau de code qui correspond à l'initialisation des données contenues dans un menu déroulant (données provenant d'une base Access).
> > > > > > > >
> > > > > > > > Ce code contient très certainement au moins une erreur. Donc si quelqu'un pouvait me la corriger ou me donner des infos, cela me retirerait une grosse épine du pied.
> > > > > > > >
> > > > > > > > //initialisation des MD
> > > > > > > > //MD acheteur
> > > > > > > > String query = "SELECT NomA FROM Acheteur";
> > > > > > > > Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
> > > > > > > > ResultSet results = s.executeQuery(query);
> > > > > > > > int numrows = 0;
> > > > > > > > while(results.next() == true)
> > > > > > > > numrows++;
> > > > > > > >
> > > > > > > > String [] liste_acheteur = new String[numrows];
> > > > > > > > results.beforeFirst();
> > > > > > > > int i=0;
> > > > > > > > while(results.next() == true)
> > > > > > > > {
> > > > > > > > liste_acheteur[i] = results.getString(1);
> > > > > > > > i++;
> > > > > > > > }
> > > > > > > > DefaultComboBoxModel modelAcheteur = new DefaultComboBoxModel(liste_acheteur);
> > > > > > > > JComboBox jcb_acheteur = new JComboBox(modelAcheteur);
> > > > > > > >
> > > > > > > > Merci d'avance à ceux qui se pencheront sur mon problème !
> > > > > > > >
> > > > > > > > MH
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
lundi 30 juin 2003 à 23:31:18 | Re : Plantage à cause de menus déroulants

dragon

de rien, faut dire que c'était beaucoup par chance, puisque j'ai jamais lier une database avec java. Avec access très souvent, mais pas java. Par contre d'après ton problème, ça avait l'air dequoi de genre comme problème et effectivement j'avais raison (ok, avec quelques essai, mais bon lol)


-------------------------------
Réponse au message :
-------------------------------

> ça y est ! CA MARCHE !!
>
> effectivement je ne fermais aucune de mes variables "Statement" qui pourtant sont très nombreuses. Mais maintenant ça tourne.
>
> Merci beaucoup ! Ton aide m'a été très précieuse !
>
>
> MH
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > est e que tu ferme bien ta variable à al fin de ta classe ????
> >
> > s.close ???
> >
> > peut aussi essayer les méthodes
> >
> > s.clearBatch();
> > s.clearWarnings();
> >
> > pour supprimer ce qui est en mémoire, on sait jamais, masi d'après moi, ton erreur c'est des données toujours porésente ou des variables ou ta base de donnée toujours ouvert ou, encore, que ta base de donnée est fermer (masi je crois moins ce cas là, puisque tu l'ouvre d'après ce que j'ai pus voir)
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut,
> > >
> > > ça se peut effectivement. Du coup j'ai essayé d'écrire une méthode "Nettoyage()" dans laquelle je fais des
> > > f.remove(composant) (f c'est la JFrame de mon formulaire), mais ça plante toujours. Peut-être que tu connaîs d'autres méthodes de nettoyage plus efficaces (genre delete ou des trucs comme ça) ??
> > >
> > >
> > > MH
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > la première fois ça plante pas, mais la 2e fois oui .... ça se peut tu que les donner sont pas effacer lorsque tu essai de le réouvrir pis ça lante puisqu'il y a déjà des donner.
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Voilà un exemple de Semect que je fait :
> > > > > query = "SELECT NomF FROM Fournisseur";
> > > > > Comme tu le vois c'est une commande très simple donc je ne pense pas que mes Select soient mal faits.
> > > > >
> > > > > J'ai essayé de faire réparer-->compacter-->réparer mais ça plante toujours de la même façon.
> > > > >
> > > > > Ce qui est bizarre c'est que quand je charge mon formulaire qui contient des menus déroulants, ça plante pas. C'est quand je le charge une deuxième fois (en cliquant sur retour puis en revenant) que ça plante.
> > > > >
> > > > > Sinon je travaille sur une base de données Access.
> > > > >
> > > > >
> > > > > MH
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > faudrais savoir si l'erreur est normal aussi, comme un select mal fait ou qui point vers dequoi de non valide.
> > > > > >
> > > > > > si ta bases de donnée est corrumpu, t'inquiète, sous access, ça le fait au moins une fois semaine sur une grosse base de donnée. Ouvre access et ouvre ta base de donnée, puis dans les menu en haut, tu vas trouver à quelques part dasn les menu, réparer base de donnée et compacter base de donnée. Je te conseil de compacter puis de réparer par la suite ou encore mieux, réparer, compacter et réparer encore.
> > > > > >
> > > > > > tu travail sur quel baes de donnée, access ou oracle ???
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > Salut,
> > > > > > >
> > > > > > > Tout d'abord, merci d'avoir répondu !
> > > > > > >
> > > > > > > Ta réponse m'intéresse beaucoup, mais j'aurais besoin de quelques précisions.
> > > > > > >
> > > > > > > ça signifie quoi exactement une base de données "corrompue" ? Où se trouve le bouton "réparer" sur lequel tu m'as conseillé de cliquer ?
> > > > > > >
> > > > > > > Et surtout ça correspond à quoi les drivers NT ? Au fichier ntdll.dll par exemple ?
> > > > > > >
> > > > > > > Par ailleurs, la ligne qui plante change à chaque plantage, mais très souvent c'est une commande "executeQuery".
> > > > > > >
> > > > > > > Merci !
> > > > > > >
> > > > > > >
> > > > > > > MH
> > > > > > >
> > > > > > >
> > > > > > > -------------------------------
> > > > > > > Réponse au message :
> > > > > > > -------------------------------
> > > > > > >
> > > > > > > > Juste en passant, une bonne programmation, les déclaration de variable doit-être fait au début des class et non en pliens centre, puisque ça devient de plus en plus compliquer à corriger.
> > > > > > > >
> > > > > > > > ton erruer est une erreur externe à java, donc une eerreur que je suppose du au lien qui relis java et ta base de donnée. Je suppose, soit que tu base de donnée est corrompus (si tu es sous access, tu as juste à cliquer sur réparer) ou soit que ta bases de donnée est plus récente que tes drivers NT. Par exemple, si tu as créé ta bases de donnée en oracle 9i et que les driver que tu possède est pour la 8i et moins, ça pourrais causé ce genre d'erreur, faudrais savoir comment tu tiens ouvert ta bases de donnée. Àq quel ligne ça plante exactement ??? tu devrais faire fonctionner ton programm en pas à pas pour savoir la ligne exact.
> > > > > > > >
> > > > > > > > ça se pourrasi aussi que ça soit un problème de mémoire trop plienne mais habituellmenet, java te donne un message à propos de la mémoire virtuel, ce qui est pas le cas.
> > > > > > > >
> > > > > > > > tu pourrais aussi faire une recherche sur intnernet à propos de cette fonction pour savoir c'est quoi " RtlAllocateHeap ", sur le site de microsoft, tu devrais trouver, au moins tu vas pouvoir comprendre ton erreur
> > > > > > > >
> > > > > > > > -------------------------------
> > > > > > > > Réponse au message :
> > > > > > > > -------------------------------
> > > > > > > >
> > > > > > > > > Bonjour,
> > > > > > > > >
> > > > > > > > > La raison pour laquelle j'expose mon problème ici est que je le traîne depuis plusieurs semaines sans en trouver la solution, et que mon échéance de fin de projet se rapproche dangereusement.
> > > > > > > > >
> > > > > > > > > Je développe un logiciel qui manipule différents formulaires, dont certains contiennent des menus déroulants. Quand je charge plusieurs des formulaires contenant ces menus déroulants, ça plante et le message suivant apparaît :
> > > > > > > > >
> > > > > > > > > <<
> > > > > > > > > An unexpected exception has been detected in native code outside the VM.
> > > > > > > > > Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x784AB2B9
> > > > > > > > > Function=RtlAllocateHeap+0x1AA
> > > > > > > > > Library=C:\WINNT\System32\ntdll.dll
> > > > > > > > > >>
> > > > > > > > >
> > > > > > > > > Il est probable que j'accède à un moment donné à de la mémoire que je n'ai pas allouée. Je vous joins donc un petit morceau de code qui correspond à l'initialisation des données contenues dans un menu déroulant (données provenant d'une base Access).
> > > > > > > > >
> > > > > > > > > Ce code contient très certainement au moins une erreur. Donc si quelqu'un pouvait me la corriger ou me donner des infos, cela me retirerait une grosse épine du pied.
> > > > > > > > >
> > > > > > > > > //initialisation des MD
> > > > > > > > > //MD acheteur
> > > > > > > > > String query = "SELECT NomA FROM Acheteur";
> > > > > > > > > Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
> > > > > > > > > ResultSet results = s.executeQuery(query);
> > > > > > > > > int numrows = 0;
> > > > > > > > > while(results.next() == true)
> > > > > > > > > numrows++;
> > > > > > > > >
> > > > > > > > > String [] liste_acheteur = new String[numrows];
> > > > > > > > > results.beforeFirst();
> > > > > > > > > int i=0;
> > > > > > > > > while(results.next() == true)
> > > > > > > > > {
> > > > > > > > > liste_acheteur[i] = results.getString(1);
> > > > > > > > > i++;
> > > > > > > > > }
> > > > > > > > > DefaultComboBoxModel modelAcheteur = new DefaultComboBoxModel(liste_acheteur);
> > > > > > > > > JComboBox jcb_acheteur = new JComboBox(modelAcheteur);
> > > > > > > > >
> > > > > > > > > Merci d'avance à ceux qui se pencheront sur mon problème !
> > > > > > > > >
> > > > > > > > > MH
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>


Cette discussion est classée dans : string, menus, acheteur, results, déroulants


Répondre à ce message

Sujets en rapport avec ce message

Soucis avec des variables [ par syndrael ] Bonjour, voici mon code...class Meuble{ String color; String lieu; void PrintColor() { System.out.println("Color: " + this.color); } void PrintLieu comment acceder a un objet quand on a le nom contenu dans un String [ par joyman555 ] Salutj ai un probleme, j ai un String avec le nom d un objet dedans, comment puis faire pour acceder a cet objet ??mercijoyman555@cijix.fr.st comment convertir un string en un int [ par bidules ] bonjour,Et bien tout est dans la question : j'aimerais convertir un string en int.evidement le string est en fait un entier.Merci. Conversion d'un string en float ou double [ par massat ] Bonjour,je suis débutant en java depuis 2 jours. J'essaye de créer une simple calculatrice afin de m'améliorer.J'arrive à transformer des string en in Conversion d'un string en float ou double [ par massat ] Bonjour,je suis débutant en java depuis 2 jours. J'essaye de créer une simple calculatrice afin de m'améliorer.J'arrive à transformer des string en in Petit probleme de vérifiactiond e donnée! [ par Marneus ] Voila le problèeme, j'extrait la donnée d'un fichier texte, je prends la donnée et je la store dans uenv ariable de type String. Lorsque je la manipul recuperer le nom d'un bouton. [ par bibe ] Bonjour,Je fabrique une serie de bouton avec une boucle foret je voudrais recuperer le nom du bouton sur le quel je clique.Je n'arrive a recuperer que probleme d'unreachable statement [ par marsrepart ] hello tout le monde.. je suis un newbies....Voila, je dois faire un client/serveur (style FTP)java qui dialogue par le biais de socket (normal .. je s java.lang.NullPointerException [ par Dey ] Marseillais :J débute en java Voici mon 1 prgm :import java.sql.*; import java.io.*; public class CategorieAgent { class CategorieAgent() { Javamail envoi d'un mail: format html?? [ par zebulaon ] Bonjour,Je cherche à envoyer un mail au format html grace à l'API javamail.Voici le code Java que j'ai trouvé sur internet. Il fonctionne bien, j'ai f


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales