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 :

Un fichier .bmp comme paramètre d'une Procédure stockée


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 6
    Points
    6
    Par défaut Un fichier .bmp comme paramètre d'une Procédure stockée
    Comment peut-on Passer un fichier image .bmp comme paramètre d'une Procédure stockée ?

    Le fichier image .bmp est logé sur le disque dur. J'ai crée une procédure stockée pour insérer cette image dans la base des données SQL Server. Je passe le matricule du client et le fichier image à la procédure stockée. Pour le matricule, je le fait ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    with StoredProc1 do
      ParamByName('Matricule').AsString :=  EditMatricule.Text
    Et pour l'image, je fais ceci et ça ne marche pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    with StoredProc1 do
           ParamByName('@MonImage').LoadFromFile('\\SCE-YDE-1\IMAGES_VENTES\PH_'+EditMatricule.Text+'.bmp',ftBlob);

    Quelqu'un peut-il m'aider dans le forum ?

    Merci

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut!

    Le 1er paramètre est du type STRING.
    Le 2ème est du type POINTER...? (ou un STREAM?) :

    Peux-tu nous montrer le code de cette procédure?
    Comment obtiens-tu @MonImage? C'est une chaîne de caractères?

    Si tu veux (ou plutôt si tu peux), le seconde paramètre doit être du type STRING (le chemin et nom du fichier).
    Ta procédure sera alors chargée d'ouvrir et de lire le contenu de ce fichier...

    Ou alors tu charges préalablement les données de l'image dans une variable...
    Un truc dans ce style pour TFileStream, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    VAR pt:TFileStream;
     
    pt:=TFileStream.Create('\\SCE-YDE-1\IMAGES_VENTES\PH_'+EditMatricule.Text+'.bmp',fmOpenRead);
    pt.Seek(0,0);
    TRY
     WITH StoredProc1 DO ParamByName(pt,ftBlob);
    FINALY pt.Free;END;
    à+
    De retour parmis vous après 10 ans!!

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Bonjour

    Voici le code de la procédure stockée (SQL Server) :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    CREATE PROCEDURE MiseAJourImage
     
    	(@Matricule   			varchar(10),  
      	@MonImage   			Image)
     
    AS
     
     
     
    BEGIN TRANSACTION
     
    /* MAJ ENTETE ARCHIVES */
     
     
      	UPDATE dbo.ARCHIVES_ENT  
    	SET  	Photo  =  @MonImage
    	WHERE Matricule = @Matricule
     
    	IF (@@ERROR <> 0)
    	BEGIN
    		ROLLBACK TRAN
    		RETURN
    	END
     
     
    COMMIT TRANSACTION
     
    RETURN
    @MonImage est un paramètre de la Proc relative à l'image .bmp

    _________________
    Balises CODE rajoutées par Sub0

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/08/2009, 10h54
  2. Réponses: 2
    Dernier message: 03/12/2006, 12h37
  3. Réponses: 2
    Dernier message: 27/06/2006, 15h21
  4. Réponses: 4
    Dernier message: 14/02/2006, 15h33
  5. Passer le nom de colonne en paramètre d'une procédure stocké
    Par theartist dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/01/2005, 15h39

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