Erreur oledbexeption

mell01 Messages postés 72 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 15 mai 2006 - 4 mai 2006 à 12:05
mell01 Messages postés 72 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 15 mai 2006 - 5 mai 2006 à 09:49
bonjour,
j'ai un soucis j'ai une erreur vb.net lors d'un insert(alors que j'ai procéder comme d'habitude) ,j'ai dc une boite de dialogue Oldbexception mais sans explication.
j ai bo chercher ds mon code ,j vois pas...
voilà, merci d'avance à toutes les bonnes ames qui voudrons bien si pencher..


L'erreure a lieu sur les deux inserts:


Sub parcour(ByVal cn As TreeNodeCollection, ByVal p As String)
Dim n As TreeNode
Dim libcause As String
Dim place As String
Dim position As String
Dim i, idc, id, nb As Integer
Dim action As Boolean
Dim conn As New OleDbConnection
Dim myreader As OleDbDataReader
conn = M1.opencon()
Dim cmd As OleDbCommand = conn.CreateCommand()
i = 1
place = p
cmd.CommandText = "select id_probleme from probleme,document where document.nom='" & lidoc.Text & "' and probleme.id_document=document.id_document" 'recuperation de l id duu doc
myreader = cmd.ExecuteReader
myreader.Read()
id = 45
id = myreader.GetInt32(0)
myreader.Close()
For Each n In cn
libcause = n.Text
action = n.Checked
If IsNothing(n.Parent) Then
place = i 'index ds l'arbre si racine
position = place 'position enregistrer pr cette cause ''''''''''''''''''''''
cmd.CommandText = "INSERT INTO CAUSE(ID_PROBLEME,position,lib,action) VALUES(" & id & ",'" & position & "','" & libcause & "'," & action & ")"
cmd.ExecuteNonQuery()
'''''''''''''''''''
Else
place = Replace(place, "^", "")
place = place & "^-" & i 'index ds l'arbre si pas racine le ^ permet de couper la chaine de position qd on remonte d'un niveau ds le parcour de l'arbre
position = Replace(place, "^", "") 'position enregistrer pr cette cause ''''''''''''''''''
cmd.CommandText = "INSERT INTO CAUSE(ID_PROBLEME,position,lib,action) VALUES(" & id & ",'" & position & "','" & libcause & "'," & action & ")"
cmd.ExecuteNonQuery()
''''''''''''''''''''''''''
End If
If n.GetNodeCount(False) <> 0 Then
cn = n.Nodes
M1.closecon(conn)
parcour(cn, place)
End If
place = Split(place, "^", -1, CompareMethod.Text)(0) 'coupe la chaine de position qd on remonte d'un niveau ds le parcour de l'arbre
i = i + 1
Next

M1.closecon(conn)
End Sub

5 réponses

olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
4 mai 2006 à 12:33
peux nous donner ton message d'erreuyr ?

Rollerman
0
mell01 Messages postés 72 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 15 mai 2006
4 mai 2006 à 13:10
oui biensur mais c'est pas très parlant...

Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll
0
olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
4 mai 2006 à 16:53
try
cmd.ExecuteNonQuery()
catch ex as exception
msgbox ex.message
end try

ca t'affichera un msg d'erreur plus explicite que tu pourras nous donner :)

Rollerman
0
mell01 Messages postés 72 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 15 mai 2006
5 mai 2006 à 09:08
merci,
en effet ...c'est plus clair,quoique du coup j'ai une erreur de syntaxe ds le SQL INSERT et je vois pas!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mell01 Messages postés 72 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 15 mai 2006
5 mai 2006 à 09:49
de plus qd je la test directement dans access je n'ai aucune erreur
0
Rejoignez-nous