Insert en SQL

Signaler
Messages postés
38
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
26 août 2004
-
Messages postés
38
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
26 août 2004
-
Slt tlm
Ptit prob en SQL, lorque je veux inserer kkchose dans ma table à laide d'un bouton sur ma Form qui contient ce code :

Query1.Active:=false;
Query1.SQL.Clear;
Query1.SQL.Add('insert into cd (nom) values("gggg")');
Query1.Active:=True;

Et bin ca marche pas , le prog plante et ya un message d'erreur de ce style :
Le projet Project1.exe a provoqué une classe d'exeption ENoResultSet avec le message 'Erreur à la création du handle de curseur'. Processus stoppé..

Alors c grave docteur?
Sachant ke la table CD contient les attributs No_cd , Nom , Clef avec comme clé primaire No_cd en auto incrémentation.
Jutilise donc un Query et une Datasource
Merci davance
Niko

2 réponses

Messages postés
31
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
10 mars 2009

Salut à toi,

Pour ma part je ferais un essai de cette façon :

Query1.close;
Query1.sql.text:='insert into cd (nom) values("gggg")';
Query1.ExecSql;

Cela devrait suffir (au cas où tu peux l'encadrer dans une transaction).

A ta place, j'éviterais de faire des affectations sur la propriété "Active" cela peut-être source de bug ultérieur.
Sinon je pense que cela plantait pour deux raisons :
_ la première c'est que ton texte sql n'était pas réinitialisé. En faisant un add, tu l'ajoutais au texte existant. Ta BdD ne pouvait donc comprendre le texte.
_ la seconde, c'est (à titre d'hypothèse) que les requêtes du type insert,delete ou update s'exécute avec la méthode 'ExecSql'.

Bonne chance à toi. :)
Messages postés
38
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
26 août 2004

Ah ok! bin merci, car je savais pas tout ca, c ptete normal puisque ca fé deux jours ke jme lance o sql sous delphi
Ciao
Niko