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
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
FORMTIONFORMTION par 25721088
Cliquez pour lire la suite par 25721088
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|