Meilleur auteur de réponses
Comment remplir un datagridview avec les valeurs d'une base de données

Question
-
Réponses
-
Dim connectionstring As String
Dim commandtext As String
Dim adapter As MySqlDataAdapter
Dim table As DataTable
commandtext = "select * from Voitures"
connectionstring = "server=*****;Port=3306; user id=*****; password=*******; database=******"
Try
adapter = New MySqlDataAdapter(commandtext, connectionstring)
table = New DataTable
adapter.Fill(table)
DataGridView1.DataSource = table
Catch ex As Exception
End TryJ'ai un peu cherché sur youtube et j'ai trouvé une vidéo montrant comment établir la connexion et afficher la base de données à travers une datagridview !!
En espérant que cette solution pourra aider tous ceux qui passent par ce problème.
- Marqué comme réponse minedun6 mardi 26 mars 2013 19:08
Toutes les réponses
-
Bonjour,
Voici un exemple de code :
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=7604&lngWId=10Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0- Proposé comme réponse TroxsaEditor lundi 25 mars 2013 22:37
-
Bonjour,
Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.
Cordialement,
Aurel
-
Eh bien j'ai un peu cherché par si et par ça après avoir testé !!
Problème est que j'ai pas bien compris le truc ^^
voici la connexion que j'utilise, bien + mon connecteur est celui de mysql ^^
conn = New MySqlConnection("server=**********;Port=3306; user id=*******; password=********; database=******")
conn.Open()
Dim sqlquery1 As String = "SELECT * FROM Voitures;"
Dim data1 As MySqlDataReader
Dim adapter1 As New MySqlDataAdapter
Dim command1 As New MySqlCommand
command1.CommandText = sqlquery1
command1.Connection = conn
adapter1.SelectCommand = command1
data1 = command1.ExecuteReaderwhile data1.read
//bloc d'instrcutions qui va servir à remplir mon datagridview par les champs qui se trouvent sur ma BD !!
end while
c'est dans cette partie que je bloque ^^
J'attends avec impatience vos réponses !!
- Modifié Aurel Bera mardi 26 mars 2013 13:15 ConnexionString
-
Bonjour
Faites attention et ne pas partager avec nous des informations confidentielles (chaine de connexion, serveur, BD, username & password).
Comme solution je vous propose quelque chose plus simple
adapter1.Fill (dataset) ; //vous avez maintenant un DataSet avec vos lignes, il remplace le While
Et après binder le dataset au DataGridView.
Datagridview.datasource = dataset.Tables(0)Aurel
-
Dim sqlquery1 As String = "SELECT * FROM Voitures;"
Dim data1 As MySqlDataReader
Dim adapter1 As New MySqlDataAdapter
Dim command1 As New MySqlCommand
command1.CommandText = sqlquery1
command1.Connection = conn
adapter1.SelectCommand = command1
data1 = command1.ExecuteReader
adapter1.Fill(DataSet1)
DataGridView1.DataSource = DataSet1.Tables(0)@Aurel, je vous remercie pour votre conseil ^^
Ensuite, voilà ce que j'ai. Vous serez vraiment sympa de m'expliquer ce que je dois changer et me dire pour le dataset ce que je dois faire !!
J'ai déjà jamais utilisé le datagridview bindé au dataset !!
Donc j'espère une petite explication plus détaillé de votre part car vous voyez, la méthode que j'ai mise est la seule méthode que je connaisse pour le moment et que j'arrive à comprendre.
En attendant vos réponses ^^
-
Il manque la déclaration de DataSet1
Dim DataSet1 as DataSet.
Vous pouvez voir le DataSet comme une base de données en local.
http://msdn.microsoft.com/fr-fr/library/system.data.dataset.aspx
En général il contient des Tables (avec relations entre les tables), contraintes d’unicité et nulls, colonnes avec types de données, et l’information utile, lignes. C’est le cas le plus complexe. Aussi, très important, le DataSet contient des informations sur l’histoire des lignes.
Dans votre situation le DataSet contient une seule table.
Dans votre cas ou le DataSet est blindée au DataGridView chaque modification dans le DataGridView on peut le voir dans le DataSet aussi que le type de modification (Insert/Update/Delete).
Si vous avez bien définis les commandes Insert/Update/Delete pour le DataAdapter avec un simple
dataAdapter.Update(DataSet1), le système va enregistrer les modifications en BD.
Cordialement,
-
Je vous remercie pour votre explication mais j'ai pas compris du tout !
Comme j'ai dit, je suis new à tout ça, surtout que lorsque je drag le dataset dans ma form, il me demande d'ajouter le type de dataset voulu, et je choisis dataset non typé mais après je sais pas comment l'utiliser !!
J'aimerais si possible vous parlez plus en privé et vous envoyez une copie du projet pour que vous y jetez un coup d'oeil !
encore une fois, merci Mr Aurel.
-
On ne peut pas parler en privé, le but de ces forums c'est d'aider les gens avec le même problème.
Vous pouvez utiliser un Drag&Drop pour ajouter le DataSet ou directement Dim DataSet1 as DataSet.
Bien sûr, après remplir le dataSet avec adapter1.Update (dataSet1) vous devez faire :
DataGridView1.DataSource = DataSet1.Tables(0)
Ca va lier le DataGridView avec la table contenue dans le DataSet1.
Essayez aussi de comprendre l’exemple ici :
http://msdn.microsoft.com/fr-fr/library/fbk67b6z.aspx
La différence est que vous utilisez les objets MySql en place de SQL (MySqlCommand, MySqlAdapter, etc)
-
-
-
Dim connectionstring As String
Dim commandtext As String
Dim adapter As MySqlDataAdapter
Dim table As DataTable
commandtext = "select * from Voitures"
connectionstring = "server=*****;Port=3306; user id=*****; password=*******; database=******"
Try
adapter = New MySqlDataAdapter(commandtext, connectionstring)
table = New DataTable
adapter.Fill(table)
DataGridView1.DataSource = table
Catch ex As Exception
End TryJ'ai un peu cherché sur youtube et j'ai trouvé une vidéo montrant comment établir la connexion et afficher la base de données à travers une datagridview !!
En espérant que cette solution pourra aider tous ceux qui passent par ce problème.
- Marqué comme réponse minedun6 mardi 26 mars 2013 19:08