VB.NET erreur MySqlDataAdapter
Résolu
OocarlitooO
Messages postés
3
Statut
Membre
-
holow1 Messages postés 739 Statut Membre -
holow1 Messages postés 739 Statut Membre -
Bonjour, tout d'abord je tiens à préciser que je commence juste la programmation avec VB.NET ^^.
Explication du principe et du problème :
- Je remplie un 'DataGridView' avec les enregistrements de ma base de données
- La connection à ma base de données s'effectue parfaitement
- Mon principe d'algo est de boucler sur le nombre de film trouvé dans la base de données et d'affecter à
chaque boucle le titre du film dans la requête qui me permettra de trouver les réalisateurs des films
- Voici le code :
...
' boucle sur le nombre de film
For i As Integer = 0 To myDataTable_film.Rows.Count - 1
tab_film(i) = myDataTable_film.Rows(i)("titre_film")
strQuery_rlt = "SELECT nom_realisateur, prenom_realisateur " & _
"FROM acl_realisateurs, acl_participer, acl_films " & _
"WHERE acl_realisateurs.id_realisateur = acl_participer.id_participant " & _
"AND acl_participer.id_film = acl_films.id_film " & _
"AND acl_films.titre_film = '" & tab_film(i) & "'"
myCommand_rlt.Connection = oConn
myCommand_rlt.CommandText = strQuery_rlt
MyAdapt_rlt.SelectCommand = myCommand_rlt
MyAdapt_rlt.Fill(myDataTable_rlt) ' l'erreur se produit à cette ligne
Me.DataGridView1.Rows.Add(tab_film(i), myDataTable_rlt.Rows(i)("nom_realisateur"))
Next
...
- Je tiens à préciser que toute mes varibles sont bien déclarées
- L'erreur se produit donc ici : MyAdapt_rlt.Fill(myDataTable_rlt) : L'index et la longueur doivent faire référence à un emplacement situé dans la chaîne. Nom du paramètre : length
- En remplaçant la variable par une chaine de caractère l'erreur n'apparaît plus.
- J'avoue ne pas comprendre le problème
Si vous avez des pistes pour ce problème j'en serrais ravis.
Merci d'avance
Explication du principe et du problème :
- Je remplie un 'DataGridView' avec les enregistrements de ma base de données
- La connection à ma base de données s'effectue parfaitement
- Mon principe d'algo est de boucler sur le nombre de film trouvé dans la base de données et d'affecter à
chaque boucle le titre du film dans la requête qui me permettra de trouver les réalisateurs des films
- Voici le code :
...
' boucle sur le nombre de film
For i As Integer = 0 To myDataTable_film.Rows.Count - 1
tab_film(i) = myDataTable_film.Rows(i)("titre_film")
strQuery_rlt = "SELECT nom_realisateur, prenom_realisateur " & _
"FROM acl_realisateurs, acl_participer, acl_films " & _
"WHERE acl_realisateurs.id_realisateur = acl_participer.id_participant " & _
"AND acl_participer.id_film = acl_films.id_film " & _
"AND acl_films.titre_film = '" & tab_film(i) & "'"
myCommand_rlt.Connection = oConn
myCommand_rlt.CommandText = strQuery_rlt
MyAdapt_rlt.SelectCommand = myCommand_rlt
MyAdapt_rlt.Fill(myDataTable_rlt) ' l'erreur se produit à cette ligne
Me.DataGridView1.Rows.Add(tab_film(i), myDataTable_rlt.Rows(i)("nom_realisateur"))
Next
...
- Je tiens à préciser que toute mes varibles sont bien déclarées
- L'erreur se produit donc ici : MyAdapt_rlt.Fill(myDataTable_rlt) : L'index et la longueur doivent faire référence à un emplacement situé dans la chaîne. Nom du paramètre : length
- En remplaçant la variable par une chaine de caractère l'erreur n'apparaît plus.
- J'avoue ne pas comprendre le problème
Si vous avez des pistes pour ce problème j'en serrais ravis.
Merci d'avance
A voir également:
- VB.NET erreur MySqlDataAdapter
- Erreur 0x80070643 - Accueil - Windows
- Iptv erreur de lecture - Forum TV & Vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
5 réponses
Et bien parce que j'ajoute à chaque boucle la ligne correspondant à un enregistrement de ma table :S. Je devrais faire autrement ?
je pense oui, il est suffisant de charger le datatable une seul fois.
Je remplie un 'DataGridView' avec les enregistrements de ma base de données
pourquoi ne pas passer les données directement depuis ton datatable
datagridview1.datasource=datatable
Je remplie un 'DataGridView' avec les enregistrements de ma base de données
pourquoi ne pas passer les données directement depuis ton datatable
datagridview1.datasource=datatable
Impécable merci beaucoup, en passant les données directement via le datasource je n'ai plus d'erreur.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question