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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
Comparez les prix

HTC Magic
Entre 429€ et 429€
|