IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

MSSQL Server 2008 Delphi7 Requêtes SQL acceptées dans SQL Management Studio et refusées dans l'application


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Responsable maintenance
    Inscrit en
    Juin 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable maintenance

    Informations forums :
    Inscription : Juin 2003
    Messages : 26
    Points : 29
    Points
    29
    Par défaut MSSQL Server 2008 Delphi7 Requêtes SQL acceptées dans SQL Management Studio et refusées dans l'application
    Bonjour

    MSSQL Server 2008 - Delphi7 - SQL Management Studio 2008 - Winddows XP SP3

    Composants : ADOConnection, ADOQuery, DataSource

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ADOQuery1.Active:=false;
    ADOQuery1.SQL.Clear;
    //Chn = La requête SQL
    ADOQuery1.SQL.Add(Chn);
    ADOQuery1.Active:=true;
    Les requêtes suivantes sont acceptées dans l'application et renvoient les données :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM MaTable
    SELECT * FROM MaTable WHERE NoDeSerie = 125
    SELECT * FROM MaTable WHERE ID = 8

    Dans l'application les requêtes suivantes retournent le message d'erreur : "ADOQuery1 : Champ 'ID' non trouvé." où ID est la clé primaire autoincrémentée de la table.
    Par contre dans SQL Management Studio 2008 pas de problèmes, l'envoi de la requête provoque bien l'affichage des données.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT MAX(NoDeSerie) FROM MaTable
    SELECT MAX(NoDeSerie) AS GRAND FROM MaTable

    Ce problème est intermédiaire à une autre question : je fais un
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM MaTable WHERE NoDeSerie = 125
    J'obtiens plusieurs enregistrements où le champ NoDeSerie vaut 125
    Je veux récupérer le dernier enregistrement (le plus récent) de cette sélection c'est à dire celui dont l'ID (clé primaire autoincrémentée)
    est le plus élevé.
    d'où une syntaxe (non acceptée bien sur) qui traduit l'idée :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM MaTable WHERE NoDeSerie = 555 AND ID = MAX(ID)

    Donc
    1 ère question : pourquoi la requête SELECT MAX(NoDeSerie) FROM MaTable n'est pas acceptée

    2 ème question : quelle syntaxe SQL utiliser pour obtenir l'enregistrement le plus récent

    Merci de vos réponses

  2. #2
    Nouveau membre du Club
    Profil pro
    Responsable maintenance
    Inscrit en
    Juin 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable maintenance

    Informations forums :
    Inscription : Juin 2003
    Messages : 26
    Points : 29
    Points
    29
    Par défaut MSSQL Server 2008 Delphi7 Requêtes SQL acceptées dans SQL Management Studio et refusées dans l'application
    Des précisions

    Après quelques essais le même message d'erreur : "ADOQuery1 : Champ 'ID' non trouvé" apparaît aussi avec une simple requête qui ne demande que l'affichage de certaines colonnes :
    SELECT DateDuTest, NoDeSerie FROM MaTable

    On obtient une réponse correcte en spécifiant toutes les colonnes, ce qui est équivalent à SELECT *

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/02/2015, 12h47
  2. MSSQL Server 2008 Express et Delphi7
    Par PREUX dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/10/2013, 16h13
  3. Réponses: 11
    Dernier message: 23/01/2011, 00h54
  4. SQL Server 2008 : Problème requête
    Par kh424 dans le forum Développement
    Réponses: 4
    Dernier message: 07/01/2011, 19h58
  5. [Sql Server 2008] Optimisation requête
    Par lucie.houel dans le forum Développement
    Réponses: 8
    Dernier message: 15/04/2010, 18h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo