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 :

comment manipuler une base de données paradox 7 avec les sockets?


Sujet :

C++Builder

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 16
    Points : 0
    Points
    0
    Par défaut comment manipuler une base de données paradox 7 avec les sockets?
    Salut,
    je suis entrain de réaliser une application avec borland c++ builder 6 dans un réseau local et j'ai une base de données paradox 7 dans le serveur et le composant DBgrid dans la partie client.
    comment manipuler DBgrid avec les sockets?
    Merci.

  2. #2
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    Merci de poser des questions précises,pour espèrer obtenir des réponses convenables
    Un bout de code,une explication du problème en rapport avec le code posté , un tour du côté de la FAQ ou des codes sources, avant de poster t'aiderons a obtenir de l'aide

    Merci
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 460
    Points : 24 874
    Points
    24 874
    Par défaut
    Sache que Paradox se manipule parfaitement via un partage de fichier Windows ou Samba !
    C'est probablement un exercice scolaire, l'utilisation du TCP\IP doit être fait par le programme

    Il faut commencer par découper la problématique !

    * Il faut savoir lire une Table (voir TTable\TQuery)
    * Il faut savoir communiquer (voir TClientSocket\TServerSocket ou TTCPClient\TTCPServer, il y a aussi Indy ou ICS)
    * il faut définir un protocol d'échange, un TClientDataSet peut founir un outil de sérialization !

    Voici un scénario possible !

    * Client :
    - DBGrid + DataSource + ClientDataSet
    On peut utiliser un TMemoryStream pour alimenter le ClientDataSet via la fonction LoadFromStream

    1- le client demande la visualition d'une Table et envoie la commande sous format texte : "OPEN:TABLE:LeNomDeMaTable"

    2- le server reçoit la demande, analyse la demande, créé un objet TTable avec TableName contenant "LeNomDeMaTable.db" lié à un TDatabase qui défini l'alias

    3- Le TTable créé est relié à un TDataSetProvider et ClientDataSet, tu ouvres ce dernier, avec SaveToStream(XML), tu obtiens une version sérializée de la Table, tu renvoie un buffer comme "DATA:TABLE:LeNomDeMaTable:<xml datapacket ...>

    4- le client reçoit la réponse, analyse et découpe le Buffer, un LoadFromStream du TClientDataSet !

    Le tour est joué !
    Très simpliste, pas très performant mais l'idée est là !

    on pourrait imaginer une autre forme de commande comme "RUN:SQL:SELECT * FROM LeNomDeMaTable", qui utiliserait un TQuery à la place d'un TTable pour récupérer moins d'enregistrement !

    Ensuite avec Midas, il est possible de développer son propre DataSetProvider pour gérer l'utilisation de paquets de données !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Comment manipuler une base de données par Excel ? (procédure sql)
    Par JackIsJack dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/02/2014, 14h29
  2. Réponses: 2
    Dernier message: 05/06/2011, 13h57
  3. [VB.NET] Comment compacter une base de données Access ?
    Par xVINCEx dans le forum Contribuez
    Réponses: 6
    Dernier message: 05/06/2008, 18h35
  4. comment vider une base de donnée
    Par caps_corp dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 21/04/2004, 16h54
  5. Comment acceder à une base de donnée F1.db_ ?
    Par diado dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 26/12/2003, 08h09

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