Je précise que j'ai 4 colonnes dans ma table, je l'ai bien vérifié e.
Il me dit l'erreur suivante sur la ligne Tbl.Rows[i][0] = "0" :
An unhandled exception of type 'System.StackOverflowException' occurred in system.windows.forms.dll
Dans le debugg, je peux voir que le i est = à 0, donc ca a prioris dans le premier passage de la boucle.
J'ai donc essayer en faisant : Tbl.Rows[0][0] = "0";
et tout marche, j'ai fait pareil avec tous les autres numéro de ligne , ca ne pose pas de prob, seulement qd je met i...
D'ailleur, si je met à la place de i -1 ou, 5 (soit 1 de plus que le nombre de ligne), il me dit juste qu'il n'y à aucune ligne.
Merci de votre aide, pcq là je sèche... :(
Boris Sargos
Salut,
en général, une StackOverflowException est généré, comme son nom l'indique, par un dépassement de capacité de la pile. Dans ton code, sans le savoir, tu dois faire des appels récursifs. Cette ligne notamment est suspecte : foreach(DataRow r in Tbl1.Rows) { DataRow dt = Tbl.NewRow(); } Regarde-la de plus près.
Salut,
en général, une StackOverflowException est généré, comme son nom l'indique,
par un dépassement de capacité de la pile. Dans ton code, sans le savoir, tu
dois faire des appels récursifs. Cette ligne notamment est suspecte :
foreach(DataRow r in Tbl1.Rows) {
DataRow dt = Tbl.NewRow();
}
Regarde-la de plus près.
en général, une StackOverflowException est généré, comme son nom l'indique, par un dépassement de capacité de la pile. Dans ton code, sans le savoir, tu dois faire des appels récursifs. Cette ligne notamment est suspecte : foreach(DataRow r in Tbl1.Rows) { DataRow dt = Tbl.NewRow(); } Regarde-la de plus près.
Patrick Philippot
Boris Sargos wrote:
foreach(DataRow r in Tbl1.Rows) { DataRow dt = Tbl.NewRow(); }
Bonjour,
Tbl1 ne pointerait pas par erreur sur le même objet que Tbl ?
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Boris Sargos wrote:
foreach(DataRow r in Tbl1.Rows) {
DataRow dt = Tbl.NewRow();
}
Bonjour,
Tbl1 ne pointerait pas par erreur sur le même objet que Tbl ?
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
foreach(DataRow r in Tbl1.Rows) { DataRow dt = Tbl.NewRow(); }
Bonjour,
Tbl1 ne pointerait pas par erreur sur le même objet que Tbl ?
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
amplitude
Apparemment, (du moins à MON avis qui n'est pas trop trop fiable), le Tbl.NewRow(); ne créer pas une nouvelle ligne, mais crée un DataRow q ui possède les propriété d'une Row de ma table. L'insertion se fait ensuite, juste après un remove justement...
Mais je peux me tromper...
Boris Sargos wrote:
Salut,
en général, une StackOverflowException est généré, comme son nom l'indique, par un dépassement de capacité de la pile. Dans ton code, sans le s avoir, tu dois faire des appels récursifs. Cette ligne notamment est suspecte : foreach(DataRow r in Tbl1.Rows) { DataRow dt = Tbl.NewRow(); } Regarde-la de plus près.
Apparemment, (du moins à MON avis qui n'est pas trop trop fiable), le
Tbl.NewRow(); ne créer pas une nouvelle ligne, mais crée un DataRow q ui
possède les propriété d'une Row de ma table. L'insertion se fait
ensuite, juste après un remove justement...
Mais je peux me tromper...
Boris Sargos wrote:
Salut,
en général, une StackOverflowException est généré, comme son nom l'indique,
par un dépassement de capacité de la pile. Dans ton code, sans le s avoir, tu
dois faire des appels récursifs. Cette ligne notamment est suspecte :
foreach(DataRow r in Tbl1.Rows) {
DataRow dt = Tbl.NewRow();
}
Regarde-la de plus près.
Apparemment, (du moins à MON avis qui n'est pas trop trop fiable), le Tbl.NewRow(); ne créer pas une nouvelle ligne, mais crée un DataRow q ui possède les propriété d'une Row de ma table. L'insertion se fait ensuite, juste après un remove justement...
Mais je peux me tromper...
Boris Sargos wrote:
Salut,
en général, une StackOverflowException est généré, comme son nom l'indique, par un dépassement de capacité de la pile. Dans ton code, sans le s avoir, tu dois faire des appels récursifs. Cette ligne notamment est suspecte : foreach(DataRow r in Tbl1.Rows) { DataRow dt = Tbl.NewRow(); } Regarde-la de plus près.
amplitude
Je suis partit sur encore une autre façon, qui me semblait plus propre. .. :
A prioris, dans cette façon, je ne peux pas sortir de la pile, et je ne rajoute aucune ligne.... Mais il me fait la même erreur!!!!!
An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll
sur le i++, donc a prioris sur la ligne d'avant....
amplitude wrote:
Apparemment, (du moins à MON avis qui n'est pas trop trop fiable), le Tbl.NewRow(); ne créer pas une nouvelle ligne, mais crée un DataRow qui possède les propriété d'une Row de ma table. L'insertion se fait ensuite, juste après un remove justement...
Mais je peux me tromper...
Boris Sargos wrote:
Salut,
en général, une StackOverflowException est généré, comme son nom l'indique, par un dépassement de capacité de la pile. Dans ton code, sans le savoir, tu dois faire des appels récursifs. Cette ligne notamment est suspecte : foreach(DataRow r in Tbl1.Rows) { DataRow dt = Tbl.NewRow(); } Regarde-la de plus près.
Je suis partit sur encore une autre façon, qui me semblait plus propre. .. :
A prioris, dans cette façon, je ne peux pas sortir de la pile, et je ne
rajoute aucune ligne....
Mais il me fait la même erreur!!!!!
An unhandled exception of type 'System.StackOverflowException' occurred
in mscorlib.dll
sur le i++, donc a prioris sur la ligne d'avant....
amplitude wrote:
Apparemment, (du moins à MON avis qui n'est pas trop trop fiable), le
Tbl.NewRow(); ne créer pas une nouvelle ligne, mais crée un DataRow qui
possède les propriété d'une Row de ma table. L'insertion se fait
ensuite, juste après un remove justement...
Mais je peux me tromper...
Boris Sargos wrote:
Salut,
en général, une StackOverflowException est généré, comme son nom
l'indique,
par un dépassement de capacité de la pile. Dans ton code, sans le
savoir, tu
dois faire des appels récursifs. Cette ligne notamment est suspecte :
foreach(DataRow r in Tbl1.Rows) {
DataRow dt = Tbl.NewRow();
}
Regarde-la de plus près.
A prioris, dans cette façon, je ne peux pas sortir de la pile, et je ne rajoute aucune ligne.... Mais il me fait la même erreur!!!!!
An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll
sur le i++, donc a prioris sur la ligne d'avant....
amplitude wrote:
Apparemment, (du moins à MON avis qui n'est pas trop trop fiable), le Tbl.NewRow(); ne créer pas une nouvelle ligne, mais crée un DataRow qui possède les propriété d'une Row de ma table. L'insertion se fait ensuite, juste après un remove justement...
Mais je peux me tromper...
Boris Sargos wrote:
Salut,
en général, une StackOverflowException est généré, comme son nom l'indique, par un dépassement de capacité de la pile. Dans ton code, sans le savoir, tu dois faire des appels récursifs. Cette ligne notamment est suspecte : foreach(DataRow r in Tbl1.Rows) { DataRow dt = Tbl.NewRow(); } Regarde-la de plus près.
Vincent Lascaux
Poste un code compilable le plus petit possible qui pose probleme
-- Vincent
Poste un code compilable le plus petit possible qui pose probleme
Ca va être chaud, alors j'ai fait un test vite fait :
MessageBox.Show(Tbl.Rows[0][0].ToString());
Ca marche bien et ca m'affiche le bon truc
Si je fais :
Tbl.Rows[0][0] = "Test";
Là il me fait erreur !! :-[
c fou ça!
Vincent Lascaux wrote:
Poste un code compilable le plus petit possible qui pose probleme
Paul Bacelar
Quand il y a une StackOverFlow, généralement le débuggeur est aux fraises sur la zone qui pose problème.
Le bon vieux printf("coucou") de notre glorieux passé C est encore d'actualité.
Donc, fais des debug.Trace dans ta boucle pour voir. -- Paul Bacelar
"amplitude" wrote in message news:cl6hmj$gd0$ Ca va être chaud, alors j'ai fait un test vite fait :
MessageBox.Show(Tbl.Rows[0][0].ToString());
Ca marche bien et ca m'affiche le bon truc
Si je fais :
Tbl.Rows[0][0] = "Test";
Là il me fait erreur !! :-[
c fou ça!
Vincent Lascaux wrote:
Poste un code compilable le plus petit possible qui pose probleme
Quand il y a une StackOverFlow, généralement le débuggeur est aux fraises
sur la zone qui pose problème.
Le bon vieux printf("coucou") de notre glorieux passé C est encore
d'actualité.
Donc, fais des debug.Trace dans ta boucle pour voir.
--
Paul Bacelar
"amplitude" <news@ampBLOUdesign.net> wrote in message
news:cl6hmj$gd0$1@aphrodite.grec.isp.9tel.net...
Ca va être chaud, alors j'ai fait un test vite fait :
MessageBox.Show(Tbl.Rows[0][0].ToString());
Ca marche bien et ca m'affiche le bon truc
Si je fais :
Tbl.Rows[0][0] = "Test";
Là il me fait erreur !! :-[
c fou ça!
Vincent Lascaux wrote:
Poste un code compilable le plus petit possible qui pose probleme
Quand il y a une StackOverFlow, généralement le débuggeur est aux fraises sur la zone qui pose problème.
Le bon vieux printf("coucou") de notre glorieux passé C est encore d'actualité.
Donc, fais des debug.Trace dans ta boucle pour voir. -- Paul Bacelar
"amplitude" wrote in message news:cl6hmj$gd0$ Ca va être chaud, alors j'ai fait un test vite fait :
MessageBox.Show(Tbl.Rows[0][0].ToString());
Ca marche bien et ca m'affiche le bon truc
Si je fais :
Tbl.Rows[0][0] = "Test";
Là il me fait erreur !! :-[
c fou ça!
Vincent Lascaux wrote:
Poste un code compilable le plus petit possible qui pose probleme
amplitude
Le c# est mon premier language de prog, donc je ne comprend pas tout... Mais si tu parles d'un try{ } catch{] j'ai essayé avec un MessageBox qu i me retourne l'exception, mais il ne le prend pas en compte !! C'est d'ailleur la première fois que ça me le fait !
Paul Bacelar wrote:
Quand il y a une StackOverFlow, généralement le débuggeur est aux fraises sur la zone qui pose problème.
Le bon vieux printf("coucou") de notre glorieux passé C est encore d'actualité.
Donc, fais des debug.Trace dans ta boucle pour voir.
Le c# est mon premier language de prog, donc je ne comprend pas tout...
Mais si tu parles d'un try{ } catch{] j'ai essayé avec un MessageBox qu i
me retourne l'exception, mais il ne le prend pas en compte !! C'est
d'ailleur la première fois que ça me le fait !
Paul Bacelar wrote:
Quand il y a une StackOverFlow, généralement le débuggeur est aux fraises
sur la zone qui pose problème.
Le bon vieux printf("coucou") de notre glorieux passé C est encore
d'actualité.
Donc, fais des debug.Trace dans ta boucle pour voir.
Le c# est mon premier language de prog, donc je ne comprend pas tout... Mais si tu parles d'un try{ } catch{] j'ai essayé avec un MessageBox qu i me retourne l'exception, mais il ne le prend pas en compte !! C'est d'ailleur la première fois que ça me le fait !
Paul Bacelar wrote:
Quand il y a une StackOverFlow, généralement le débuggeur est aux fraises sur la zone qui pose problème.
Le bon vieux printf("coucou") de notre glorieux passé C est encore d'actualité.
Donc, fais des debug.Trace dans ta boucle pour voir.