Mise à jour via datagrid bd sql server (vb.net)

Résolu
aydendeliadon Messages postés 19 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 20 avril 2006 - 10 févr. 2006 à 10:21
aydendeliadon Messages postés 19 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 20 avril 2006 - 10 févr. 2006 à 11:04
Bonjour,
J'ai un problème avec la mise à jour des données via un datagrid sur une base de donnée sql server. Via une instruction sql, je visualise sur le datagrid deux tables de ma base de donnée, comment faire pour que la mise à jour se fasse dans les deux tables via ce datagrid. Celles-ci étant lié via une clé étrangère si çà peut aider .
Merci de répondre rapidement.

4 réponses

ProphetKy Messages postés 100 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 16 juin 2006 2
10 févr. 2006 à 10:36
Normalement si tu créé une DataRelation dans ton DataSet, tu devrais pouvoir utiliser la méthode Update du DataSet.
N'oublie pas qu'il faut utiliser un SqlCommandBuilder pour générer tes requetes Insert,Update,Delete.

Des que c est fait tu fais un DataSet.AcceptChanges.
3
ProphetKy Messages postés 100 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 16 juin 2006 2
10 févr. 2006 à 10:54
Voila, c est un exemple qui permet de recupérer tous les enregistrement d'une autre table avec un DataRelation

Try
Dim Cnx As New SqlConnection("Server=127.0.0.1;database=pubs")
Cnx.Open()
Dim myDA1 As New SqlDataAdapter("select * from publishers", Cnx)
Dim myDS As New DataSet
myDA1.Fill(myDS, "Publishers")


Dim myDA2 As New SqlDataAdapter("select * from titles", Cnx)
myDA2.Fill(myDS, "Titles")


Dim myRel As New DataRelation("rel1", myDS.Tables(0).Columns("pub_id"), myDS.Tables(1).Columns("pub_id"))
myDS.Relations.Add(myRel)


Dim PubRow, TitleRow As DataRow
Dim TitleRows() As DataRow


PubRow = myDS.Tables(0).Rows(0)
TitleRows = PubRow.GetChildRows("rel1")


For Each TitleRow In TitleRows
MsgBox(TitleRow("title").ToString)
Next


'Dim MyDataReader As SqlDataReader
'MyDataReader = myCmd.ExecuteReader()
'While MyDataReader.Read
'MsgBox(MyDataReader.Item(0))
'End While
Cnx.Close()
3
aydendeliadon Messages postés 19 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 20 avril 2006
10 févr. 2006 à 10:50
Merci , pour le SqlCommandBuilder je savais car la mise à jour des tables focntionnent très bien.
Je ne comprend pas bien, comment attribuer la datarelation au dataset; et que faut-il réellement l'initialiser. En lui indiquant la relation entre les tables? Un exemple serait le bienvenu. Merci
0
aydendeliadon Messages postés 19 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 20 avril 2006
10 févr. 2006 à 11:04
Merci beaucoup, j'ai compris et je peux l'appliquer.
0
Rejoignez-nous