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 :

API mySQL avec Delphi


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 16
    Points
    16
    Par défaut API mySQL avec Delphi
    Bonjour.
    J'utilise Delphi6 avec une base de donnees MySQL 5.1.
    Le programme conciste a lire les donnees a partir de fichiers paradox borland et de les inserer dans une base de donnees MySQL, tout marche sauf quand il s'agit de dates j'obtiens le message suivant [Data truncated for column 'Date' at row 1] .
    Merci.

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 26
    Points : 24
    Points
    24
    Par défaut
    quel composant utilise tu pour acceder à ta base mysql?
    tu travaille en monoposte ou bien tu accede à distance à ta base??

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    je n'utilise aucun composant, j'accede a ma base de donnees MySQL directement en utilisant MySQL.pas et LibMysql.dll.
    Sauf que pour la lecture des tables de la base paradox j'utilise les composant classique tdataset, tdadabase.

    voir article suivant [Utilisation de l'API mySQL avec Delphi Date de publication : 11/11/2002 Par LFE http://lfe.developpez.com/PasmySQL/].
    merci

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    je travaille en monoposte.

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 671
    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 671
    Points : 25 481
    Points
    25 481
    Par défaut
    Pourquoie ne pas utiliser MySQL Migration Tool Kit ? Il est capable de lire tout driver ODBC, Paradox ne fait pas exception !

    Sinon, il y a DataPump fourni avec le CD de Delphi 6 qui fait très bien le travail !

    Sinon le format de date de MySQL "YYYY-MM-DD"
    Attention Date ce n'est que Date, il y a aussi DATETIME "YYYY-MM-DD HH:NN:SS"

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Bonjour
    J'utilise Win 7 et probleme la librairie NTWDBLIB.DLL n'existe plus sur cette version. alors pas question d'utiliser DataPump.
    Message [cannot load NTWDBLIB.DLL library].Ce probleme est lie au BDE.
    L'utilisation de Mysql.pas ne depend pas du BDE.

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 671
    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 671
    Points : 25 481
    Points
    25 481
    Par défaut
    Effectivement, le BDE et Seven, c'est souvent problématique !

    Citation Envoyé par deneche Voir le message
    L'utilisation de Mysql.pas ne depend pas du BDE.
    Ben, heureusement, pourquoi cette remarque ?
    Tu devrais utiliser ADO ou MyDAC avec des requêtes paramètrées, tu aurais moins d'anomalie !

    Et as-tu essayé MySQL Migration Tool Kit, tant que le driver Paradox de MicroSoft est installé sur le Poste, tu peux utiliser Paradox via ODBC !

    J'ai utilise MTK entre SQL Server et MySQL,
    Pour migrer Paradox vers Oracle, j'ai utilise DataPump pour créer la structure et un programme perso pour générer le SQL à injecter dans Oracle, comme toi, le format de date posait problème, surtout les dates impossibles comme 00/00/0000 qui ne dérange pas Paradox et dont j'ignore l'origine dans la base du client )

    Je te file les sources de mon programme PdxToOra, suffit de modifier
    'Delphi Date Time Format' = '"YYYY/MM/DD HH:NN:SS"'
    'SQL Date Time Convert Format' = '"%s"'
    'Delphi Date Format' = 'YYYY/MM/DD'
    'SQL Date Convert Format' '"%s"'

    En théorie, cela fonctionne sous MySQL avec ces simples modification

    Maintenant tes erreurs, c'est MySQL, quelle est la requête qui provoque l'erreur, on veut bien aider mais sans le SQL, on en va pas aller loin, sauf en supposition !
    Fichiers attachés Fichiers attachés

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 119
    Points : 115
    Points
    115
    Par défaut
    Salut,

    Le problème peut venir du fait que tu as un champ nomé 'DATE', il faut modifier le nom de ce champ car DATE est un mot 'réservé'.

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Bonjour problème réglé comme suit :

    sql représente la requête en question.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      if mysql_real_query(LibHandle, PAnsiChar(sql), Length(sql))<>0
      then
        raise Exception.Create(mysql_error(LibHandle));
      if mySQL_Res<>nil
      then
        mysql_free_result(mySQL_Res);
     
      mySQL_Res := mysql_store_result(LibHandle);
        mysql_commit(LibHandle);
    Merci.

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

Discussions similaires

  1. API MySql avec DBgrid
    Par boopix dans le forum C++Builder
    Réponses: 6
    Dernier message: 18/03/2007, 16h59
  2. Problème de connexion à une Db MySql avec delphi
    Par Lctl65 dans le forum Bases de données
    Réponses: 6
    Dernier message: 18/11/2006, 17h20
  3. Connexion distante à une BD MySQL avec delphi ?
    Par maamar1979 dans le forum Bases de données
    Réponses: 13
    Dernier message: 15/11/2006, 07h57
  4. Api speech avec delphi 2005 ??
    Par adel1425 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 05/06/2006, 09h29
  5. Api mysql avec Devc++, erreur de compilation
    Par Viiince dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 15/06/2004, 17h19

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