Requete SQL INSERT

zorville34 Messages postés 15 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 23 janvier 2013 - 27 juil. 2005 à 18:53
rayvaughan Messages postés 4 Date d'inscription mercredi 14 janvier 2009 Statut Membre Dernière intervention 22 avril 2010 - 18 avril 2010 à 04:53
Bonsoir



J'utilise une base access avec des composants ADO. J'ai un problème pour les requetes INSERT.

la table est composé de divers champs, integer, texte, date, etc......



Lorsque que j'exécute la commande suivante :



Ado1.sql.Clear;

Ado1.sql.text:='INSERT INTO Fournisseurs

(index_f,nfourn,afourn,vfourn,tfourn,ffourn,efourn,lbfourn,dcfourn,dmfourn)';

Ado1.SQL.Add('VALUES(24,"c2","c3","c4","c5","c6","c7","c8","21/04/05",null)');

Ado1.ExecSQL; - cela fonctionne.très bien.



Mais dès que je remplace les valeurs 24 ou cxx par des valeurs
provenants de tedit ou combbox ou de function de génération de clef, il
me sort le message :



l'application à provoqué........................ le champ 24 en
fixe ou indef_f (en variable) n'à pas de valeur par
défaut........................



Ma question : d'où vient l'erreur, ?



Dans l'attente d'une réponse, merci.
A voir également:

3 réponses

moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
27 juil. 2005 à 19:16
Salut,



Alors deja je te conseil de mettre ta requete dans une seule chaine.
Ensuite tu verifie bien que tout tes type de donné sont correct sinon
tu cast certaines valeur.s

Mais sinon tu a un moyen de déboguer une requete sql.

Alors tu ecrit ta requete avec les les Edit.text ...... etc

Ensuite tu met un point d'arret sur le Ado1.ExecSQL; Tu execute ton
prog jusqu'au point d'arret, une fois au point d'arret tu met un point
suivi sur Ado1.SQL.Text, dans le fenetre des points suivi tu fais
bouton droit sur cette valeur et "copier la valeur".

Ensuite tu ouvre ta base avec access et tu fais nouvelle requete et en
mode sql tu colle la valeur, tu retire le ' de debut et de fin et tu
execute et tu vois pourquoi il execute pas ta requete.



Sinon envoi moi ton code pour que je regarde



Bonne Prog
0