Datagridview enregistrer les modifications apportées à la Base de données vb.net
Bonjour, j'ai un databse que je charge à Datagridview dans vb.net application.
il se charge bien, mais quand j'essaie d'enregistrer la date, ça ne fonctionne pas.
voici le code
Private myConString As String
Private con As OleDbConnection = New OleDbConnection
Private Dadapter As OleDbDataAdapter
Private DSet As DataSet
Private DSet2 As DataSet
Private ConCMD As OleDb.OleDbCommand
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
myConString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=e:\Database31.accdb"
con.ConnectionString = myConString
con.Open()
Dadapter = New OleDbDataAdapter("select * from Table1", con)
DSet = New DataSet
Dadapter.Fill(DSet, "Table1")
DataGridView1.DataSource = DSet.Tables("Table1")
con.Close()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
con.Open()
Dadapter.Update(DSet, "Table1")
DSet.AcceptChanges()
con.Close()
End Sub
Mise à jour nécessite un valide InsertCommand lorsqu'il est passé DataRow collection avec de nouvelles lignes.
que suis-je censé faire?
la accessdatabase 3 colmuns et l'ID est la clé primaire
ID Champ1 Champ2
OriginalL'auteur FPGA | 2012-07-07
Vous devez vous connecter pour publier un commentaire.
De sorte que vous devez définir une
InsertCommand
pour vousDataAdapter
Note: La ligne
DSet.AcceptChanges()
est redondante, car la ligne précédenteDadapter.Update
appelleraAcceptChanges
implicitement.Vous devez utiliser
using-statement
pour quoi que ce soit la mise en œuvre deIDisposable
comme une Connexion. Que ferait appelDispose
(qui ferme la connexion) implicitement, même dans le cas d'une exception.Pour le remplacer:
avec
Édité ma réponse à fournir à la msdn lien pour OleDbDataAdapter.InsertCommand. Il y a un exemple de sql
INSERT
déclaration.grande..supposons maintenant que j'ai rempli le datagrid view 2000 nouvelles valeurs avec une boucle pour les différents domaines..et je veux sauver ce quelle est la meilleure approche pour ce faire? l'introduction doit être au cours de la boucle et non après la boucle?
Jetez un oeil à cet exemple de code qui montre comment lier un DataGridView à une base de données Access et comment select,update,delete et insert: dreamincode.net/forums/topic/...
Merci beaucoup, cela a fonctionné!
OriginalL'auteur Rango
Vous avez besoin de lire les données de la grille de données
OriginalL'auteur Mark
Mon VB.NET code pour les 4 types de bases de données (mise à jour des informations de DataGridView à la Base de données)
OriginalL'auteur Maxim Galushkin