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 :

Modifier dynamiquement le "langage d'une table paradox"


Sujet :

Bases de données Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Modifier dynamiquement le "langage d'une table paradox"
    Bonjour,
    J'utilise Delphi 7 avec le bde et des tables paradox.
    Une table paradox contient une propriéte "Langage de table" qui lui est attribuée lors de sa création (elle prend le paramètre langdriver défini dans le BDE)
    Je dois modifier le langage de tables paradox existantes afin de les uniformiser (pour résoudre pb d'accents suite à requêtes sql sur ces tables).
    Je peux modifier cette propriété par l'option "Restructurer" du module Base de donnée (dans la fenêtre déroulante "propriété") mais je souhaiterai crée un .exe qui fasse cette opération afin de l'automatiser.
    Quelqu'un a-t-il une idée.
    Merci.
    Antoine.

  2. #2
    Membre averti Avatar de Bejaia-In
    Inscrit en
    Avril 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 365
    Points : 392
    Points
    392
    Par défaut
    Malheureusement, tu dois passer par l'API du BDE avec la fonction "DbiDoRestructure" qui n'est pas simple à utiliser.(voir l'aide du BDE)
    ....................................................................
    Aidez-vous... Dieu vous aideras et nous aussi..
    ....................................................................

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 99
    Points : 98
    Points
    98
    Par défaut modifier le langage d'une table paradox
    bonjour,

    je sais que ma réponse est tardive mais elle peut toujours intéresser des personnes qui, comme moi, peuvent tomber sur cette question du forum par hasard.

    voici une petite fonction développée sous delphi 6 permettant de changer le langage d'une table paradox :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
     
    uses bde;
     
    // appel de la fonction : on passe le langage de la table client en 'WEurope' ANSI
    tableparadox_langdriver('c:\base\client.db', 'LANGDRIVER', 'dbwinwe0');
     
    // fonction langdriver
    function tableparadox_langdriver(chemintable_st : string; option, optdata : string) : boolean;
    var table : TTable;
        hdb : hDBIDb;
        res : dbiresult;
        tabledesc : CRTblDesc;
        fielddesc : FLDDesc;
    begin
      {raffraichissement barre d'attente.}
      Application.ProcessMessages;
      {parametrage de la table}
      table := TTable.Create(nil);
      table.DatabaseName := ExtractFilePath(chemintable_st);
      table.TableName := ExtractFileName(chemintable_st);
      if (table.Active and not table.Exclusive) then table.Close;
      if (not table.Exclusive) then table.Exclusive := true;
      if (not table.Active) then table.Open;
     
      Check(DbiGetObjFromObj(hdbiobj(table.Handle), objDATABASE, hdbiobj(hdb)));
     
      table.Close;
     
      FillChar(tabledesc, sizeof(tabledesc), 0);
      StrPCopy(tabledesc.sztblname, table.TableName);
      StrCopy(tabledesc.sztbltype, szPARADOX);
     
      fielddesc.iOffset := 0;
      fielddesc.iLen := length(optdata) + 1;
      StrPCopy(fielddesc.szname, option);
     
      tabledesc.iOptParams := 1;
      tabledesc.pfldOptParams := @fielddesc;
      tabledesc.pOptData := @optdata[1];
     
      try
        res := DbiDoRestructure(hdb, 1, @tabledesc, nil, nil, nil, false);
        result := (res = DBIERR_NONE);
      finally
        table.Open;
      end;
      table.Free;
    end;

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Code de la langue Paradox Intl
    Bonjour,
    au Hazard, je vois que tu utilises dbwinwe0 pour 'WEurope' ANSI
    connaitrais tu le code/dll pour affecter le language paradox 'intl' ??

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/08/2006, 16h43
  2. Modifier dynamiquement TOUS les URL d'une page
    Par Torpedox dans le forum Langage
    Réponses: 2
    Dernier message: 06/04/2006, 05h21
  3. [VBA-A]modifier la description des champs d'une table
    Par damiensimon dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/03/2006, 16h23
  4. Modifier le nom des champs d'une table...
    Par Mr Capone dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/01/2005, 10h22
  5. Modifier nom de champ d'une table Paradox 7
    Par teska dans le forum Bases de données
    Réponses: 3
    Dernier message: 02/11/2004, 13h09

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