OVH Cloud OVH Cloud

DataSet et Update

1 réponse
Avatar
Sébastien
Bonjours, jai creer une class qui mappe les donner d'une table,
j'ai un probleme, pour la lecture tous ce passe bien, mais lrosque je
modifie le dataset, si je l'affiche de suite pas de prob, les modification
sont bien prise en compte, mais quand je fais un update , rin ne ce passe
.... je ne comrpend rien.

Je vous donne le code de l'instruction Update & le load() plus bas.

donc voila si qq a une idee, merci, car je galere vraiment, je ne comprend
pas de quoi cela vien ....

a++
seb

'==========================================================

Public lDataSet As New DataSet

Public lAdapter As OleDb.OleDbDataAdapter

Private lCon As New
OleDb.OleDbConnection(genBD_BD.BaseDonne.ConnectionString)

Public Function Update()

Dim lDataSetLocal As New DataSet

'lDataSet.BeginInit()

lCon.Open()

lDataSetLocal = lDataSet.GetChanges(DataRowState.Modified)

' Gestion des Commandes ==============================================

Dim lComdBuilder As New OleDb.OleDbCommandBuilder(lAdapter)

lAdapter.InsertCommand = lComdBuilder.GetInsertCommand

lAdapter.UpdateCommand = lComdBuilder.GetUpdateCommand

lAdapter.DeleteCommand = lComdBuilder.GetDeleteCommand

Console.WriteLine(lComdBuilder.GetUpdateCommand.ToString)

'=====================================================================

' lDataSetLocal.AcceptChanges()

Try

lAdapter.Update(lDataSetLocal, "TBL_Utilisateur")

Catch ex As Exception

MsgBox(ex.Message)

End Try

lDataSetLocal.Dispose()

lDataSetLocal = Nothing

lComdBuilder.Dispose()

lComdBuilder = Nothing

lCon.Close()

End Function

Public Function Load(ByVal pSql As String)

Dim lCmd As New OleDb.OleDbCommand(pSql, lCon)

lAdapter = New OleDb.OleDbDataAdapter(lCmd)



lCon.Open()

lAdapter.FillSchema(lDataSet, SchemaType.Source, "TBL_Utilisateur")

lAdapter.Fill(lDataSet, "TBL_Utilisateur")

lCon.Close()

End Function

1 réponse

Avatar
Sébastien
C bon j'ai trouvé !!!

en fait y avais un champs password dans ma base, et apparement il aime pas,
il faux mettre des crochet [] pour les mot reserver

j'ai juste rajouter Quoteprefixe et QuoteSuffice et sa passe !

merci a ce qui ce sont penché dessu
a++
seb



"Sébastien" <Aucun> a écrit dans le message de
news:%
Bonjours, jai creer une class qui mappe les donner d'une table,
j'ai un probleme, pour la lecture tous ce passe bien, mais lrosque je
modifie le dataset, si je l'affiche de suite pas de prob, les modification
sont bien prise en compte, mais quand je fais un update , rin ne ce passe
.... je ne comrpend rien.

Je vous donne le code de l'instruction Update & le load() plus bas.

donc voila si qq a une idee, merci, car je galere vraiment, je ne comprend
pas de quoi cela vien ....

a++
seb

'========================================================= >
Public lDataSet As New DataSet

Public lAdapter As OleDb.OleDbDataAdapter

Private lCon As New
OleDb.OleDbConnection(genBD_BD.BaseDonne.ConnectionString)

Public Function Update()

Dim lDataSetLocal As New DataSet

'lDataSet.BeginInit()

lCon.Open()

lDataSetLocal = lDataSet.GetChanges(DataRowState.Modified)

' Gestion des Commandes ============================================= >
Dim lComdBuilder As New OleDb.OleDbCommandBuilder(lAdapter)

lAdapter.InsertCommand = lComdBuilder.GetInsertCommand

lAdapter.UpdateCommand = lComdBuilder.GetUpdateCommand

lAdapter.DeleteCommand = lComdBuilder.GetDeleteCommand

Console.WriteLine(lComdBuilder.GetUpdateCommand.ToString)

'==================================================================== >
' lDataSetLocal.AcceptChanges()

Try

lAdapter.Update(lDataSetLocal, "TBL_Utilisateur")

Catch ex As Exception

MsgBox(ex.Message)

End Try

lDataSetLocal.Dispose()

lDataSetLocal = Nothing

lComdBuilder.Dispose()

lComdBuilder = Nothing

lCon.Close()

End Function

Public Function Load(ByVal pSql As String)

Dim lCmd As New OleDb.OleDbCommand(pSql, lCon)

lAdapter = New OleDb.OleDbDataAdapter(lCmd)



lCon.Open()

lAdapter.FillSchema(lDataSet, SchemaType.Source, "TBL_Utilisateur")

lAdapter.Fill(lDataSet, "TBL_Utilisateur")

lCon.Close()

End Function