Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : erreur! UPDATE !!! Nouvel enregistrement dans une table ! [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (ktypao)

lundi 4 juillet 2005 à 09:23:04 | erreur! UPDATE !!! Nouvel enregistrement dans une table !

ktypao

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

rs.AddNew
rs!Id_en = id_E
rs!Id_cn = id_C
rs!Date_s = ds
rs!Date_r = dr
rs!Acc_l = acc
rs!Adr = adr
rs.Update
   
MsgBox "Nouvelle location correctement enregistrée", vbOKOnly, "Message"
Form_NouvelleLoc.Hide


lundi 4 juillet 2005 à 09:37:47 | Re : erreur! UPDATE !!! Nouvel enregistrement dans une table !

KC62

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 ...

lundi 4 juillet 2005 à 10:27:37 | Re : erreur! UPDATE !!! Nouvel enregistrement dans une table !

frop01

Membre Club
L'erreur vient les valeurs affectées au champs;

vérifies leur types ainsi que leur longeur

ex
si Dats_s est de type date dans la base
alors il faut
rs!Dates=CDate(ds)

@+


lundi 4 juillet 2005 à 11:07:16 | Re : erreur! UPDATE !!! Nouvel enregistrement dans une table !

ktypao

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é. "


lundi 4 juillet 2005 à 11:32:39 | Re : erreur! UPDATE !!! Nouvel enregistrement dans une table !

dan80



ou essaye ca :

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


dim sqlstring as string
sqlstring="Insert into Location(Id-En, Id_cn, Date_s, Date_r, Acc_l, Adr) values ( ' " & id_E & " ',....)
cn.Execute sqlstring

affectation des variables, syntaxe:
' " & (string) & " '
" & (integer) & "
# " & (date) & " #

fais moi signe si tu réussi!       


lundi 4 juillet 2005 à 12:00:57 | Re : erreur! UPDATE !!! Nouvel enregistrement dans une table !

ktypao

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 ?

lundi 4 juillet 2005 à 13:38:48 | Re : erreur! UPDATE !!! Nouvel enregistrement dans une table !

dan80



 t sur que tes champs sont au format date?

tu pe toujours essayé ca:

tu fais soit:

1- un cdate('ta date') pour convertir en date

2- ou tu fais format('ta date',"MM/dd/yyyy")

fais moi signe

je suis toujours a aidé un programmeur en détresse sutout si c'est une progammeuse

lundi 4 juillet 2005 à 14:10:49 | Re : erreur! UPDATE !!! Nouvel enregistrement dans une table !

frop01

Membre Club
envoi la structure sql (Create TABLe ....)

pour voir les types des champs !!



Cette discussion est classé dans : erreur, id, cn, nouvel, update


Répondre à ce message

Sujets en rapport avec ce message

Erreur BDD SQL lors d'un update [ par Redman31100 ] J'ai créer une application sur VS 2008 Express en suivant ce cours : http://msdn.microsoft.com/fr-fr/vbasic/msdn.coachvb.atelier5.aspxVoici mes header erreur oledbexeption [ par mell01 ] bonjour, j'ai qql soucis depuis mon passage à vb.net, j'ai par exemple un msg( vb )d'erreur de syntaxe sql sur un insert(bd access) alors que directem Erreur au lancement d'un ActiveX (ID de sécurité) [ par tanginthemiddle ] Losrque je lance mon composant à partir de Visual studio 6, l'erreur suivante s'affiche:<span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: Ver Tableau croisé dynamique - Macro - Erreur n°5. [ par Mxwell ] Bonjour à tous. (Et bonne année:))J'ai un petit souci lors de la création d'un tableau croisé dynamique à l'aide d'une macro.Comme vous pouvez le voir creation de compte exchange 2003 [ par Blorf78 ] bonjour je cherche a créé un script d'automatisation des créations de compte utilisateurs en VBscript. le systeme d'exploitation du serveur en place e temps de pause entre suppression et renommage ? [ par fredx ] Bonjour,j'ai un programme en VB6 qui manipule des fichiers ouverture, lecture, ecriture de fichiers,"concatenation" de 2 fichiers dans un fichier temp Problème de connection [ par gollum57320 ] bonjour à tousJ'ai une erreur qui apparait lorsque je souhaite me connecter a ma base de donne MySql. Voila le code que j'utilise :Imports MySql.Data. Erreur Bizarre avec un type date lors d'un Update [ par kevin_prec ] J'ai un problème et je dois le résoudre Je suis en stage présentement au cégep de Trois-Rivières j'ai un application a terminer avant vendredi me rest requete update sous vb avec access [ par didou853113 ] Bonjour, en exécutant la requete suivante un message d'erreur me dit qu'il y a une erreur de syntaxe dans celle-ci. Si quelqu'un pouvait m'éclairer, m Erreur de update [ par Sinsitrus ] Salut !J'ai un sérieux problème sur le bouton de Edit de ma form.Voici le code :


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.