Accueil > Forum > > > > Plantage à cause de menus déroulants
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
Livres en rapport
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : SUPERVISIONRE : SUPERVISION par akrem18
Cliquez pour lire la suite par akrem18 RE : CODE SNMPRE : CODE SNMP par farahoo
Cliquez pour lire la suite par farahoo
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|