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 DELPHI7 Enregistrer BLOB Memo


Sujet :

Bases de données Delphi

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    Par défaut MSSQL Server DELPHI7 Enregistrer BLOB Memo
    Bonjour

    MSSQL Server DELPHI7 Comment enregistrer BLOB Memo

    MSSQL Server 2008 DELPHI7 Windows XP SP3

    Composants utilisés : ADOConnection1 ADOQuery1 DataSource1 DBGrid1 DBMemo1

    La base et la table ont été créées avec SQL Server 2008 Management Studio
    Liste des champs : dans le fichier joint Définition table base.doc

    La clé primaire ID de type integer est autoincrémentée
    Le champ memo est déclaré en varchar(MAX) pour faire face à des tailles importantes
    Le champ memo y est saisi avec une seule ligne de texte

    1)
    L'application delphi montre bien dans la DBGrid les enregistrements réalisés avec MS SQL Management Studio. Le DBMemo montre la 1ère ligne du Mémo associé à l'enregistrement.

    2)
    L'application delphi insère sans problèmes de nouveaux enregistrements (string et integer).
    Le memo est détecté en ftMemo sur demande du type de données de sa colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ChnNom:=DbGrid1.Columns.Items[NoColonne].DisplayName;  // Nom de la colonne = nom du champ
    TypeDeChamp:=GetFieldType(DbGrid1,ChnNom);     // type du champ : string, integer ....
     
     
    ADOQuery1.Active:=false;
    //Valeurs affectées : (le champ autoincrémenté est volontairement absent)
    Chn:='INSERT INTO BTCM (DateDuTest,TypeDEquipement,NoDeSerie,Resultat,Bilan,NoOF,DateDeFabrication,Client,FichierDesMesures)  
    VALUES(DEFAULT,'BTCM','212',DEFAULT,'HS','999888','OCT 13','BUS','KIKI')'
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add(Chn);
    ADOQuery1.ExecSQL;
    3)Le problème (après avoir consulté FAQ et Net)
    Comment enregistrer un memo de texte à partir d'un fichier texte ou d'un Memo créé sur la fiche en utilisant un ADOQuery ?

    Le Memo Resultat doit-il être mis en paramètres par :Resultat
    VALUES(DEFAULT,'BTCM','212',:Resultat,'HS','999888','OCT 13','BUS','KIKI')'

    et quelque chose du type : ADOQuery1.Parameters.ParamByName('Resultat').LoadFromFile(OpenDialog1.Filename,ftMemo);
    Mais où placer cette ligne de code
    Faut-il définir le nom du paramètre ou de tous les paramètres à la conception ? Peut-on le faire à l'exécution ?
    Y a t-il une méthode plus simple ?

    4)Si le mémo a eté enregistré entièrement, apparaît-il directement dans le DBMemo lors d'une opération SELECT FROM

    Merci
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/10/2013, 16h04
  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. delphi et MSSQL-Server
    Par skandaji dans le forum Bases de données
    Réponses: 3
    Dernier message: 03/05/2006, 12h10
  4. MSSQL server 2003 sous Win 2000
    Par didiergm dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/08/2005, 15h19
  5. [Oracle 10g]Problème pour enregistrer blob
    Par Invité dans le forum Hibernate
    Réponses: 6
    Dernier message: 27/04/2005, 11h45

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