begin process at 2010 02 10 11:52:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Base de données

 > 

Autre

 > 

Fieldbyname non déclaré


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fieldbyname non déclaré

mardi 26 août 2008 à 16:49:58 | Fieldbyname non déclaré

Jenojen

Bonjour,

J'aurais bien besoin d'aide sur ce problème.

[CODE]procedure Tgestionparis.dbChevauxDblClick(Sender: TObject);
var truc:integer;
begin
truc:=dm.DsParticiper.fieldbyname('idcheval').asinteger;
with dm.queryExe do
 begin
   sql.clear;
   sql.add('insert into tparier (idcheval) values (');
   sql.add(truc)+')';
   //  sql.add(quotedstr(inttostr(truc)))+')';
   ExecSQL;
   sql.text:= 'select * from tcourses';
   open;
 end;
end;[/CODE]J'ai donc tenté ça + la ligne qui est en commentaitre mais j'ai droit à: - Identificateur non déclaré: Fieldbyname
-Opérateur ou point virgule manquant sur la première ligne de code.
-Et type incompatible sur la ligne avec le quotedstr. (Le champ idcheval est un numérique)

Alors j'ai deux questions.
Ma méthode, chaud ou froid?
Et pourquoi ces problèmes?

Premièrement je ne comprends pas le problème avec fieldbyname et avec l'opérateur sur la première ligne.
Deuxièmement je ne comprend pas pourquoi les types sont incompatibles.

Merci de me répondre.
mardi 26 août 2008 à 17:36:43 | Re : Fieldbyname non déclaré

simonpelloquin

Bonjour,

Partant du principe que DsParticiper est un datasource, écris plutôt :
truc:=dm.DsParticiper.DataSet.fieldbyname('idcheval').asinteger;

Pour la requête :
   sql.clear;
   sql.add('insert into tparier (idcheval) values (');
   SQL.Add(IntToStr(truc)+')');
   ExecSQL;
   SQL.Clear;
   sql.text:= 'select * from tcourses';

En espérant que ça te dépannera

Simon
mardi 26 août 2008 à 17:40:26 | Re : Fieldbyname non déclaré

simonpelloquin

Ou plus simplement :

var truc : string;
begin
truc:=dm.DsParticiper.Dataset.fieldbyname('idcheval').AsString;
with dm.queryExe do
 begin
   sql.clear;
   sql.add('insert into tparier (idcheval) values (');
   sql.add(truc +')');

Simon
mardi 26 août 2008 à 17:50:29 | Re : Fieldbyname non déclaré

Jenojen

Merci pour ta réponse.
Pour le problème fieldbyname j'avais compris mon erreur.
Pour ce qui est du code en lui même la première solution me dit que la conversion de type variant est incorrecte et idem pour la deuxième solution. Le truc la dedans c'est que c'est vraiment un problème de conversion string/integer.


mercredi 27 août 2008 à 09:01:49 | Re : Fieldbyname non déclaré

simonpelloquin

Bé c'est marrant mais j'ai aussi cette erreur de temps en temps (ouais, je suis pas le seul !)... A savoir un insert qui me plante sur les champ entier... Impossible de passer ma requête sauf par une sous requête. Est-ce un défaut paradox ?

Essaie :
   SQL.Clear;
   SQL.Add('Insert into tparier (idcheval)');
   SQL.Add('Select distinct idcheval');
   SQL.Add('From [ta table]');
   SQL.Add('Where idcheval = '+ truc);    // Avec truc : string

Ça devrait passer... mais je voudrais bien savoir s'il y a un moyen de contourner ce problème, parce que les sous requêtes, c'est pas toujours possible ou alors des fois c'est un peu lourd...

Simon
mercredi 27 août 2008 à 11:39:35 | Re : Fieldbyname non déclaré

Jenojen

J'ai réussi à régler le problème.

with dm.queryExe do
  begin
   sql.clear;
   sql.add('insert into tparier (i idcheval) values (');
   sql.add(dm.tParticiper.fieldbyname('idcheval').asstring + ')');
   ExecSQL;
   sql.text:= 'select * from tcourses';
   open;
 end;

Merci de votre aide.


Cette discussion est classée dans : ligne, code, sql, fieldbyname, déclaré


Répondre à ce message

Sujets en rapport avec ce message

Transformer les instructions delphi en Sql [ par notrica ] Salut J'ai une très grd préocupation. En faite j'avais ecris les instructions d'accès aux données en delphi. j'ai changé de cap, je voudrais transform UPDATE de Sql [ par notrica ] Salut, J'utilise Sql-serveur2005,j'ai une erreur de syntaxe que je n'arrive pas decouvrir. voici le code : [code=pas] [b]With[/b] [color=blue]QPlaGen peut on insérer une ligne de html dans un code delphi??? [ par 365tib ] Bon jours, peut on insérer une ligne (ou plusieurs) de html dans une form delphi???si oui, comment?merci. type mismatch dans un expresion [ par djamour ] salut t.m j'ai un probleme avec mon projet j'utilise query sou delphi mon code source est: query1.SQL.Clear; query1.SQL.Add('select Nom,Prenom,T Comment faire une requete SQL de plus de 255 caractères ? [ par billmax ] Bonjour,je dois réaliser une requête SQL qui ajout dans une base mySQL avec DELPHI 7 les informations sur une maison (je veux gérer une base de donnée Tquery et code [ par bilou2000 ] bonjourj'ai une requete sql pour filtrer les affichage:SELECT *FROM basepicto01WHERE categorie IN ('N ')oK ca marche.seulement lorsque que je veux l' base de données [ par liza06_1 ] salut tout le monde c'est encore moi, voila j'ai un petit problème concernant la mise à jour de ma table " Section " je voulais créer des enregistreme pb requete sql [ par skiso ] es que quelqu'un peut me dire la syntax de cette requete sur microsoft access :SELECT * FROM annonces a inner join agences b on b.code = a.code WHERE calcule avec sql [ par vrachid ] bj a tous pouvez vous m'aider a savoir ce qui cloche dans ça:procedure TForm3.BitBtn1Click(Sender: TObject);beginwith QCaisse dobeginwith sql <s


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,560 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales