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

C++Builder Discussion :

Requ�te d'insertion dans une base ACCESS


Sujet :

C++Builder

  1. #1
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut Requ�te d'insertion dans une base ACCESS
    Bonjour � tous

    Je suis en train de faire un logiciel qui agit avec une base de donn�es ACESS.

    Je suis allez voir le tutorial permettant de se connecter � une base Access avec Borland C++ Builder.

    Jusque l�, pas de probl�me.

    En revanche, je n'arrive pas � faire une requ�te d'insertion dans ma base de donn�es.

    Je construis ma requ�te en r�cup�rant des informations dans des champs d'une boite de dialogue. Or, la requ�te ne fonctionne pas.

    Ce que j'ai donc fait pour tester, j'ai �crit ma requ�te directement en SQL dans ACCESS avec les valeurs que je voulais ins�rer et l� elle marche.

    J'ai donc copier cette requ�te fonctionnant dans ACCESS directement dans la propri�t� SQL de mon objet requ�te pour tester.

    Et l� j'ai la m�me erreur.
    Le projet videoaudio.exe a provoqu� une classe d'exception EDatabaseError avec le message "Requ�te: Le champ "\Mes' est d'un type inconnu".

    Voici la requ�te que j'essaye d'ex�cuter

    INSERT INTO Album ( TitreAlbum, AuteurAlbum, TypeAuteur, ImageFace, ImageDos )
    VALUES ("Avant Que L'Ombre", "Myl�ne Farmer", "Artiste", "D:\Mes Images\Jaquettes\Albums\Myl�ne Farmer - Avant que l'ombre - front.jpg", "D:\Mes Images\Jaquettes\Albums\Myl�ne Farmer - Avant que l'ombre - back.jpg");

    Voici le sch�ma de la table Album
    (NumAlbum (Num�roAuto), TitreAlbum (Texte 50), AuteurAlbum (Texte 50), TypeAuteur (Texte 50), ImageFace (Texte 255), ImageDos (Texte 255))

    Je ne comprend pas d�o� viens l�erreur, est ce que quelqu�un pourrait m��clairer.

    Merci d'avance

  2. #2
    Membre chevronn�


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par d�faut
    Bonjour,

    sauf erreur de ma part, le double point est r�serv� pour l'utilisation de param�tres renseign�s via ParamByName.
    Ex. : "SELECT * FROM emp WHERE ename = :name"

    Quant � une solution ... je tenterai de voir si le : peut �tre �chapp� ou alors je mettrais les valeurs en param�tre.

    Bon courage

    Eric

  3. #3
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    Je te suit pas trop l�.

    Mais ce que je ne comprend, pas, c'est que la requ�te fonctionne sous access, alors que l� non.

  4. #4
    Membre chevronn�


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par d�faut
    Dans ta requ�te, le BDE interpr�te toute cha�ne commen�ant par un double point comme un param�tre de la requ�te.

    Dans ton code, il a donc l'air de consid�rer \Mes comme un param�tre puisqu'il est pr�c�d� d'un :
    Il s'attend donc � ce que tu fournisses � ton TQuery une valeur pour ce param�tre.


    Essaye quelque chose comme cela :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    INSERT INTO Album ( TitreAlbum, AuteurAlbum, TypeAuteur, ImageFace, ImageDos )
    VALUES (:TitreAlbum, :AuteurAlbum, :TypeAuteur, :ImageFace, :ImageDos);
    Puis va renseigner les valeurs dans la propri�t� Params.

    En esp�rant que ca t'aide

    Eric

  5. #5
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    C'est bon ca marche
    Je n'avais pas tout compris concernant les params, mais j'ai regard� dans l'aide et j'ai trouv�.

    Encore Merci pour ton aide

    Pour info pour aider ceux qui aurait le m�me probl�me que moi, voil� la solution

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    // On affecte la requête
    Requete->SQL->Clear();
    Requete->SQL->Add("INSERT INTO Album (TitreAlbum, AuteurAlbum, TypeAuteur, ImageFace, ImageDos)");
    Requete->SQL->Add("VALUES (:Titre, :Auteur, :TypeAuteur, :ImageFace, :ImageDos)");
     
    // On affecte les paramètres
    Requete->Params->Items[0]->AsString = Titre;
    Requete->Params->Items[1]->AsString = Auteur;
    Requete->Params->Items[2]->AsString = TypeAuteur;
    Requete->Params->Items[3]->AsString = CheminFace;
    Requete->Params->Items[4]->AsString = CheminDos;
     
    // On exécute la requête
    Requete->ExecSQL();

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 9
    Par d�faut
    Apr�s une insertion moi j'ai le probl�me d'avoir � chaque fois une bo�te de dialogue qui demande � l'utilisateur de confirmer l'ajout.

    Comment faire pour forcer cet ajout, pour shunter cette bo�te ?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [ADO.net] insertion dans une base Access
    Par nightcyborg dans le forum C#
    R�ponses: 12
    Dernier message: 01/09/2009, 12h40
  2. Requ�te d'insertion dans une base de donn�es
    Par Kalion dans le forum VB.NET
    R�ponses: 5
    Dernier message: 25/02/2009, 13h45
  3. Erreur insert dans une base Access
    Par erce78 dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 09/09/2008, 14h21
  4. [SQL] Probl�me de requ�te d'insertion dans une base SAGE
    Par Swapyyy dans le forum Requ�tes et SQL.
    R�ponses: 1
    Dernier message: 04/07/2008, 10h14
  5. [C#] Insertion dans une base Access .mdb
    Par borgfabr dans le forum Windows Forms
    R�ponses: 3
    Dernier message: 03/03/2005, 15h30

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