Erreur! UPDATE !!! Nouvel enregistrement dans une table !
ktypao
Messages postés8Date d'inscriptionlundi 18 avril 2005StatutMembreDernière intervention30 mars 2006
-
4 juil. 2005 à 09:23
cs_frop01
Messages postés1352Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention19 novembre 2008
-
4 juil. 2005 à 14:10
Salut,
je débute dans la prog alors soyez indulgent. Merci.
Je développe une appli en vb 6 et j'ai une base mysql.
Je dois ici inserer un nouvel enregistrement dans ma table "location".
Le problème vient apparemment de Update qu'il me surligne.
Et j'ai en retour l'erreur: " Longueur de chaine ou de mémoire tampon non valide".
Je ne comprend pas cette erreur. Merci pour votre aide.
(Il me reste 2 semaines avant soutenance de stage!!!!)
Voici le bout de code foireux:
Private Sub Cmd_Valider_Click()
Dim str As String
Set cn = New ADODB.Connection
str = "DRIVER={MySQL ODBC 3.51 Driver};" & "SERVER=" & "localhost" & ";DATABASE=" & "MaBase" & ";" & "UID=" & "root" & ";PWD=" & ";OPTION="
cn.Open str
Set rs = New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "location", cn, , , adCmdTable
KC62
Messages postés229Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention20 juin 2007 4 juil. 2005 à 09:37
Salut,
je suis pas sur de moi mais tu peux toujours essayé sa mange pas de pain !
Set rs = New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "location", cn, , , adCmdTable
Sur ce code essaye de remplace adLockOptimistic par quelque chose du genre adOpenDynaset .
Tu pourras voir en appuaynt sur [Control] + [Espaces] toutes les possibilités. L'idée c'est douvrir le recordset de manière a pouvoir enregistré dessus.
voila bonne chance a toi !
KC62
On a pas toutes les solutions de tous les probleme mais chaque probleme à ses solutions ...
ktypao
Messages postés8Date d'inscriptionlundi 18 avril 2005StatutMembreDernière intervention30 mars 2006 4 juil. 2005 à 11:07
Merci! Le problème vient apparemment de là, j'ai mis CDate() pour les dates, en revanche il reste encore un problème pour un autre champ qui est en VARCHAR dans ma base et que j'ai mis en STRING dans l'appli. En fait je la récupère dans un textBox ( adr text_adr.text ) puis je l'affecte au champ de la base correspondant ( rs!adresse adr).
Pourquoi ça ne marche pas?
Il me renvoie: "Une opération OLE-DB a généré des erreurs. Vérifiez chaque valeur d'état OLE-DB disponibles. Aucun travail n'a été effectué. "
ktypao
Messages postés8Date d'inscriptionlundi 18 avril 2005StatutMembreDernière intervention30 mars 2006 4 juil. 2005 à 12:00
Avec cette méthode c'est pour les dates que ça marche pas, c'est un comble, non?
Donc ici, j'ai une erreur de syntaxe pour les dates.
Si je met # " & ds & " # il me met une erreur de syntaxe.
Si je met ' " & ds & " ' ou " & ds & " l'enregistrement se fait bien mais avec les valeurs par défaut des dates, 00-00-0000.
Je ne sais plus koi faire, j'ai tout essayé!
Encore un p'tit conseil pour une pauv' p'tite programmeuse en galère ?