Message d'erreur "EXPRESSION TROP COMPLEXE".

cs_carmilloguevara Messages postés 20 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 12 septembre 2013 - 11 avril 2011 à 15:13
CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 - 11 avril 2011 à 21:24
bonjour
je souhaite supprimer un enregistrement de ma table, mais quand je je click sur mon bouton supprimer un message d'erreur apparait au niveau de mon dataadapter dta.Update(dts, "ADHERENT") me disant:"exception oledbexception n'a pas été gérée" voici mon code tout en comptant sur tte l'équipe pour m'aider à supprimer cet enregistrement merci

Private Sub btnsup_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsup.Click
'suppression de la ligne en cours
dts.Tables("ADHERENT").Rows(rownum).Delete()

'création et exécution du commandbuilder
'pour mettre à jour le DataAdapter
cmdb = New OleDbCommandBuilder(dta)

'mise à jour des données du DataAdapter
'à partir du commandbuilder
dta.Update(dts, "ADHERENT")

'mise à jour de la datagrid
Dg1.SetDataBinding(dts, "ADHERENT")

'vide les texbox et sort de la procédure
'si il n'y a plus d'enregistrements
'sinon on va au début du fichier et
'on affiche les données
If rownum > dtt.Rows.Count - 1 Then

'on vide les texbox car il n'y a
'aucun enregistrement à afficher
Me.txtordre.Text = ""
Me.txtmat.Text = ""
Me.txtcodereg.Text = ""
Me.txtsocial.Text = ""
Me.txtcodefisc.Text = ""

'désactivation des boutons
btnmod.Enabled = False 'modifier
btnsup.Enabled = False 'supprimer

Else

'aller au début du fichier
rownum = 0

'affichage des données dans les texbox
Me.txtordre.Text = dtt.Rows(rownum).Item("Num_ordre")
Me.txtmat.Text = dtt.Rows(rownum).Item("matricule")
Me.txtcodereg.Text = dtt.Rows(rownum).Item("code_region")
Me.txtsocial.Text = dtt.Rows(rownum).Item("raison_social")
Me.txtcodefisc.Text = dtt.Rows(rownum).Item("raison_fiscal")

btnmod.Enabled = True
btnsup.Enabled = True

End If
End Sub

1 réponse

CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
11 avril 2011 à 21:24
Bonsoir,
voici une réponse qui m'a été donné par Foliv et qui t'aidera surement,

'En .Net il existe deux méthodes pour accéder aux données :

'1) Mode connecté
'On ouvre une connexion, on exécute une requête, on exploite le résultat.
'(Couple OleDbConnection, OleDbCommand, OleDbDataReader)

'2) Mode déconnecté
'On remplit un DataSet, on travaille sur le résultat (ajouts, modifications, suppressions de lignes), on met à jour la base à l'aide du DataSet et d'un DataAdapter.
'(Couple DataSet, DataAdapter)

'- Un DataSet est un ensemble d'une ou plusieurs tables (DataTable).
'- Une DataTable est constituée de colonnes (DataColumns) et de lignes (DataRow)
'- Un DataAdapter permet de remplir et mettre à jour un DataSet
'Grossièrement un adapter est un objet composé de 4 requètes (OleDbCommand) :
'+ Une requête de remplissage (SelectCommand)
'+ Une requête d'insertion (InsertCommand)
'+ Une requête de mise à jour (UpdateCommand)
'+ Une requête de suppression (DeleteCommand)
'La méthode 'Fill' appelle la requête de remplissage.
'La méthode 'Update' parcour les lignes de la table et appelle la requête d'ajout, de modification ou de suppression en fonction des modifications effectuées sur la ligne.
0
Rejoignez-nous