erreur l'argument spécifié n'est pas dans la limite des valeurs possibles: rowi

Signaler
Messages postés
13
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
30 août 2009
-
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
-
salut,
je suis debutant en vb.net ,et je réalise depuis quelque temps une application sous vb.net avec une base de données ms sql sever 2005, sur une interface de mise à jour j'ai met un datagrid que je vous qu'il m'affiche une table,des zones de textes pour saisir,pour faire la modification je vous que l'utilisateur cherche ds le datagrid ,lorsqu il clic sur un enregistrement cela s'affiche ds les zones de texte et le code est:
Private

Sub DataGrid1_CurrentCellChanged(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles DataGrid1.CurrentCellChanged

Dim i
As
Integer = DataGrid1.CurrentRowIndex

TryTextBox6.Text = DataGrid1.Item(i, 0)

TextBox1.Text = DataGrid1.Item(i, 1)

TextBox2.Text = DataGrid1.Item(i, 2)

TextBox3.Text = DataGrid1.Item(i, 3)

TextBox4.Text = DataGrid1.Item(i, 4)

TextBox5.Text = DataGrid1.Item(i, 5)

Catch ex
As ExceptionMsgBox(ex.Message)

End
Try

End
Sub
pour le bouton modification j'ai met:
For

i AsInteger = 0 To ds.Tables("matable").Rows.Count - 1

If ds.Tables(
"matable").Rows(i)(0) = TextBox6.Text
Then

'MsgBox("entrer les nouvelles valeurs")ligne = ds.Tables(

"matable").Rows(i) 

ligne(0) = TextBox6.Text

ligne(1) = TextBox1.Text

ligne(2) = TextBox2.Text

ligne(3) = TextBox3.Text

ligne(4) = TextBox4.Text

ligne(5) = TextBox5.Text

 

Trydc.Update(ds,

"matable")laod()

 

Catch ex
As ExceptionMsgBox(ex.Message)

Exit
Sub

End
Try 

End
If

NextMsgBox(

"modification effectuée")
sachant que la procedur laod correspond à load du formulaire
sub laod()

ds.Clear()

dc.Fill(ds,

"matable")DataGrid1.DataSource = ds.Tables(

"matable")
end sub
tel que ds est dataset
et dc est
Public

dc AsNew SqlDataAdapter("select * from matable", conx)

Public cc
As
New SqlCommandBuilder(dc)
alors le probleme c'est que lorsque je modifie dans les zonnes de texte et je clic sur modifier j'ai l'apparition de ce message:
erreur l'argument specifié n'est pas dans la limites des valeurs possibles :rowindex
et à cette instant le datgrid se vide,je clic sur fermet et là le contenu de datagrid s'affiche avec les modification effectué,
mes questions son: je sais que ce message s'affiche car je l'ai met dans try,mais avez vous une idée pour qu'il affiche autre text par exemple:modif effectué,si j'efface laod je doit reafficher la fenetre pour voir les modifications,savez vous la cause de cette erreur,et sa solution ?merci beaucoup

1 réponse

Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
Bonjour,

"For i As Integer = 0 To ds.Tables("matable").Rows.Count - 1"
dans
Thèmes / [forum-VISUAL-BASIC_1.aspx Visual Basic 6] / [theme-DIVERS_220.aspx Divers] / [theme-AIDE-DOCUMENTATION_224.aspx Aide & Documentation] / erreur l'argument spécifié n'est pas dans la limite des valeurs possibles: rowindex

Erreur de thème ? c'est pas .NET plutôt ?

"ligne
.Count" te retourne quoi ?

Evite de nommer tes controles TextBox1, utilise des noms plus explicit : TxtNom par exemple.

http://nhen0039.chez-alice.fr/index.php