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

Lazarus Pascal Discussion :

[0.9.27/Win32] Problème avec tables paradox


Sujet :

Lazarus Pascal

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Points : 77
    Points
    77
    Par défaut [0.9.27/Win32] Problème avec tables paradox
    Bonjour tout le monde,

    Je reviens à la charge avec mes tables Paradox, car le composant TParadox n'est pas totalement implémenté, il n'arrive pas à lire les champs de type date, et bien évidemment c'est un champ de ce type que je dois lire ! C'est pas beau la vie, hein !

    Bon, je voulais changer de stratégie et utiliser une connexion ODBC pour ouvrir ces saloperies de tables ( oui, je suis un peu énervé ).

    Quelqu'un a t il un exemple d'utilisation de l'ODBC pour ouvrir des tables Paradox, car dans mon petit programme de test, une erreur Access violation est générée, et je n'ai plus d'idées !

    Je joints le source au cas où cela tente quelqu'un (bien entendu il faudra adapter le fichier DSN et OpenDialog, et un petit peu le code de l'action ouvrant la table).

    D'avance merci et à bientôt.

    Dnode57.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Peux-tu poster le code directement sur le forum?Ceux qui n'ont pas winzip ne pourront pas lire ce fichier ...
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Points : 77
    Points
    77
    Par défaut
    Bonjour supersnail,

    Je vais essayer de mettre le plus de chose possible. J'utilise un composant TODBCConnection pour me connecter, à l'aide d'un fichier dsn. Voici la config du composant ODBC :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        object ODBCConnection1: TODBCConnection
        Connected = True
        Transaction = SQLTransaction1
        FileDSN = 'C:\paradoxtest.dsn'
        left = 8
        top = 445
      end
    le fichier DSN est le suivant :

    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
    [ODBC]
    DRIVER=Microsoft Paradox Driver (*.db )
    UID=admin
    UserCommitSync=Yes
    Threads=3
    SafeTransactions=0
    ParadoxUserName=admin
    ParadoxNetStyle=4.x
    ParadoxNetPath=C:\WINDOWS\system32
    PageTimeout=5
    MaxScanRows=8
    MaxBufferSize=2048
    FIL=Paradox 4.X
    DriverId=282
    DefaultDir=C:\BDD
    CollatingSequence=International
    Pour récupérer les infos, j'utilise un query très simple, à savoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM :prNomTable
    bien évidemment je remplace le parametre par le nom de la table souhaité (j'ai essayé avec .db et sans, même punition !). Le query est lié à une DBGrid via un datasource, config toute bête quoi !

    Et finalement, voici le code pour ouvrir la table :

    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
     
    procedure TfrmParadox2.actOuvrirExecute(Sender: TObject);
              var Fichier,NomTable : String;
    begin
         // Selection d'un fichier a ouvrir
         If SQLQuery1.Active Then
            SQLQuery1.Close;
         If ODBCConnection1.Connected Then
            ODBCConnection1.Close;
     
         // Selection du fichier
         If OpenDialog1.Execute Then
            Begin
                 Fichier := OpenDialog1.FileName;
                 // recuperation du nom de la table
                 NomTable := AnsiRightStr(Fichier, AnsiPos('\',AnsiReverseString(Fichier))-1);
     
                 if Application.MessageBox(PChar('Table : '+NomTable),'Nom de la table selectionnee', MB_ICONINFORMATION or MB_YESNO) = mrYes Then
                    Begin
                         Try
                             ODBCConnection1.Open;
                             SQLQuery1.Params.ParamByName('prNomTable').AsString:= NomTable;
                             SQLQuery1.Open;
                         Except
                             On e:exception do
                                Begin
                                     Application.MessageBox(PChar('Erreur : '+e.Message),'Erreur requete', MB_ICONERROR or MB_OK)
                                End;
                         End;
                    End;
            End;
    end;
    Petite remarque, malgré l'utilisation d'un bloc protégé, impossible d'obtenir le message d'erreur, le pied quoi !

    Merci d'avance pour l'aide.

    @+

    Dnode57.

Discussions similaires

  1. Problème de query SQL avec tables paradox.
    Par melles dans le forum Bases de données
    Réponses: 2
    Dernier message: 15/10/2008, 01h51
  2. Problème Accès table Paradox avec composant ADO
    Par QAYS dans le forum Bases de données
    Réponses: 0
    Dernier message: 24/09/2008, 12h38
  3. travailler dynamiquement avec tables Paradox
    Par od.dev dans le forum Bases de données
    Réponses: 5
    Dernier message: 14/05/2007, 13h59
  4. [Win32] Problème avec les sockets
    Par mickael777 dans le forum MFC
    Réponses: 3
    Dernier message: 12/08/2005, 11h15
  5. [BDD] Probléme avec fichir Paradox
    Par jcharles dans le forum Bases de données
    Réponses: 3
    Dernier message: 31/10/2004, 20h47

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