Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
716 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Delphi 7 et BD : pb d'accent !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Delphi 7 et BD : pb d'accent !

n°502029
davidmarli
Posté le 29-08-2003 à 18:19:38  profilanswer
 

Salut à tous,
 
bon en fait désolé pour le titre je ne voyais pas quoi mettre pour être plus explicite. Alors je vous explique mon pb :  
J'ai une base de donnée au format .dbf dans laquelle se trouve des noms, prenoms, date de naissance ...
Losrque j'ouvre ce fichier via Excel, les prénoms apparaissent correctement avec les accents.
Lorsque j'incorpore cette même BD avec delphi (grâce à l'expert fiche) lors de la lecture des champs, Delphi remplace tous les accents par une barre verticale epaisse. Comment remédier à ce pb ?
 
Merci


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
mood
Publicité
Posté le 29-08-2003 à 18:19:38  profilanswer
 

n°502042
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-08-2003 à 18:29:17  profilanswer
 

davidmarli a écrit :


Lorsque j'incorpore cette même BD avec delphi (grâce à l'expert fiche)  


 
Tu peux donner plus de détails ?  
Tu lis la BD via quels composants ? C'est quoi l'"expert fiche" ? :??:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°502046
davidmarli
Posté le 29-08-2003 à 18:38:09  profilanswer
 

ben pour generer la fiche avec tous les champs correspondant à ma BD je fais :  
 
Base de Données-->Expert Fiche.
Là un assistant s'ouvre,
je choisis :  Creer une fiche Simple et Creer une fiche avec des objets TTAble
Ensuite je fais "suite",
Je choisis mon .DBF  
je fais "Suite",
Je prends tous les champs, et je fais "Terminer"
 
Voilà, cela crée une fiche avec ta base de données.
 
J'ai été clair cette fois-ci ?


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502048
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-08-2003 à 18:41:05  profilanswer
 

J'ai jamais utilisé ces trucs automatiques :/


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°502069
davidmarli
Posté le 29-08-2003 à 18:58:02  profilanswer
 

bon d'accord, mais à mon avis ça revient au même que de le faire à la main sauf qu'on y passe 2 secondes.
 
Et pour mes accents ???


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502096
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-08-2003 à 19:53:44  profilanswer
 

bah je sais pas, j'aurais dit de regarder dans les paramètres de connexion à la BD (TADOConnection quand on passe par ADO par exmple) s'il y a pas une option concernant le codage des caractères, mais là je suppose qu'il fait un accès direct à la table.
 
Tu dis que ça revient à la même que de le faire à la main, beh non justement :D


Message édité par antp le 29-08-2003 à 19:54:17

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°502097
davidmarli
Posté le 29-08-2003 à 19:56:10  profilanswer
 

euh au risque de passer pour un nullos : c'est quoi ADO ???


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502101
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-08-2003 à 20:03:16  profilanswer
 

en gros, c'est des objets de Microsoft servant à se connecter aux bases de données.
TTable, TDatabase, etc. = BDE, truc en fin de vie, qui oblige à installer BDE sur les machines où on fera tourner le soft
TADOTable, TADODatabase, etc. = ADO/MDAC, ça tourne sous 2000/XP sans install spéciale, et sur les autres Windows il faut mettre à jour MDAC si ça n'a pas encore été fait


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°502103
davidmarli
Posté le 29-08-2003 à 20:10:16  profilanswer
 

bon alors du coup, il faut que je crée ma fiche avec tous les champs à la main ??? (avec ADO) parce que dans ma base il doit y avoir une centaine de champs !


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502104
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-08-2003 à 20:11:34  profilanswer
 

Je sais pas [:spamafote] Si t'as le temps ça vaudrait le coup de faire un test rapide en ADO avec un champ (pas besoin de mettre les 30).


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le 29-08-2003 à 20:11:34  profilanswer
 

n°502111
davidmarli
Posté le 29-08-2003 à 20:19:42  profilanswer
 

ben ok c'est parti ... Seulement moi j'ai jamais fais de BD, donc si tu as le temps la maintenant je técoute, j'ai Delphi ouvert sous les yeux.
Que dois-je poser sur ma form ?
 
Désolé de t'importuner de la sorte, mais bon si je comprends pour un champs, je pense pouvoir y arriver pour les autres.


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502115
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-08-2003 à 20:24:11  profilanswer
 

Je ne sais pas comment on fait pour accéder à du DBF, je n'ai utilisé que des bases Access et Oracle :/


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°502119
davidmarli
Posté le 29-08-2003 à 20:26:27  profilanswer
 

O rage, o desespoir, o veill...


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502121
davidmarli
Posté le 29-08-2003 à 20:27:03  profilanswer
 

bon sinon en fait il faut quoi sur la form. Parce que les composants dispos ne sont pas très explicite !


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502123
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-08-2003 à 20:29:04  profilanswer
 

en général un TADOConnection, TADOTable qui y est relié, puis ça marche comme les autres compos.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°502134
davidmarli
Posté le 29-08-2003 à 20:36:29  profilanswer
 

bon ok, j'ai mis le chemin de mon fichier DBF dans tablename, qd je clique sur le comosant ADOtable sur ma forme, tous les champs apparaissent.
Maintenant comment je fais pour visualiser un élément ?
 
Par exemple dans ma table j'ai un champ qui s'appelle ELEPRE. Comment puis-je récupérer ce qu'il contient. (et par exemple ce que contient le 50eme enregistrement de ce champs ?) euh la je ne sais pas si je suis très clair.
 


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502137
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-08-2003 à 20:40:06  profilanswer
 

Si tu utilises les TDBEdit par ex, tu en mets un sur ta form, tu le relies à la TADOTable via un TDataSource (onglet Data Access)
Ensuite t'as une propriété DataField dans les propriétés de ce TDBEdit.
Et pour aller au 50è enregistrement, tu utilisais quoi avant ?
Tu peux toujours mettre un TDBNavigator pour parcourir les enregistrements.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°502141
davidmarli
Posté le 29-08-2003 à 20:43:44  profilanswer
 

euh c'est où ça les TDBedit ???


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502144
davidmarli
Posté le 29-08-2003 à 20:45:25  profilanswer
 

et tant que j'y suis les tdatasource?


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502148
davidmarli
Posté le 29-08-2003 à 20:47:59  profilanswer
 

oups j'ai vu où tous ces composants sont localisés .
 
bon et bien c'est bon avec ton système j'ai plus les problèmes d'accent. Donc je te remercie Bp, et encore une fois désolé de te faire perdre tontemps, avec des questions qui doivent te paraitre très bêtes !
Merci bp


Message édité par davidmarli le 29-08-2003 à 20:50:51

---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502158
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-08-2003 à 21:11:44  profilanswer
 

Tu ne me fais pas perdre mon temps ;) Si je ne voulais pas "perdre mon temps" je ne viendrais pas sur le forum


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°502213
KrzAramis
Help Me
Posté le 29-08-2003 à 22:41:26  profilanswer
 

à l'occasion jettes un oeil sur ces cours ->la <-. tu gangneras, je pense, un temps fou ! :D
 
@++


Message édité par KrzAramis le 29-08-2003 à 22:42:08
n°502333
davidmarli
Posté le 30-08-2003 à 08:45:52  profilanswer
 

Merci bp pour le lien, j'ai juste parcouru comme ça je vais m'y plonger.  
J vais enfin pouvoir comprendre la BD !!


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502346
KrzAramis
Help Me
Posté le 30-08-2003 à 10:48:45  profilanswer
 

Rhoo,
 
Je crois savoir que www.about.com est le lien par defaut quand tu demandes une aide en ligne à delphi. C est celui la plus boralnd developper Network. A confirmer.
 
voila pour la petite histoire.
 
@++

n°502365
davidmarli
Posté le 30-08-2003 à 11:43:26  profilanswer
 

bon c'est encore moi, et mes questions ! :D
 
Voilà, j'aimerais refaire une barre de navigation plutôt que d'utiliser celle de DBnavigator. (en fait je voudrais juste changer les icônes, afin que l'interface soit un peu plus attirante).
 
Comment puis-je faire ?


Message édité par davidmarli le 30-08-2003 à 11:44:30

---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°502368
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-08-2003 à 11:48:46  profilanswer
 

Tu mets des icônes et tu leur fais effectuer les actions genre Table1.Edit, Table1.Post, Table1.Next, etc.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°502384
davidmarli
Posté le 30-08-2003 à 12:33:48  profilanswer
 

merci, ça marche impec .


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°503155
davidmarli
Posté le 31-08-2003 à 08:26:29  profilanswer
 

Autre question : c'est normal qu'on doive mettre un login et un mot de passe pour accéder à la BD ?  
Parce que ma bd c'est pas des données Ultra Hyper Giga important.
Si on peut enlever le login comment fait-on ?
Merci
 
Autre question : j'ai donc chargé ma première base de données (qui contient des donnés sur les élèves d'un collège (nom, prenom date de naiss ...) Dans la bD il y a un champ avec un code correspondant à la nationalité de l'élève. J'ai récupéré sur le site de l'insee la correspondance code<->pays (ceci se présente sous la forme d'une BD avec plusieurs champs : un pour pour le code, un autre pour la nom du pays ...) J'ai donc crée une nouvelle BD dans delphi pour accéder à ces données.
Bien j'en viens à la question proprement dite : lorsque je parcours la première BD, j'ai mis un DBedit pointant sur le champ ELENAT (contenant un numéro, par exemple 100). J'ai donc ce numéro qui s'affiche dans ld DBedit correspondant. Comment faire pour qu'il s'affiche plutôt le nom du pays, en allant regarder dans la seconde bd ?
MErci (je ne sais pas si c'est très clair.)


Message édité par davidmarli le 31-08-2003 à 11:09:18

---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°503193
davidmarli
Posté le 31-08-2003 à 11:39:09  profilanswer
 

en fait je vias poser ma deuxième question différemment.
J'ai donc dans un dbedit le numéro d'une nationalité.
Je sais que je peux retrouver ce numéro dans un champ appelé COG d'une autre base de données.
Bien, comment retrouver une données dans une table ?
 
je voudrais par exemple une commande qui me dise, "et bien ce numéro est le 24ème enregistrement dans ta base"
Du coup pour choper le nom du pays j'aurais qu'à ressortir le nom.


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°503240
antp
Super Administrateur
Champion des excuses bidons
Posté le 31-08-2003 à 12:40:16  profilanswer
 

s'il y a des liens entre tes tables ou des colonnes commune (genre numéro présent dans les deux tables) ça doit pouvoir se faire via les propriétés "master" et je sais plus quelle autre pas loin, mais j'ai jamais utilisé ça.
 
Pour le mot de passe, il y a moyen de ne pas le mettre, mais je ne sais plus comment... il faut peut-être passer par un TADOConnection.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°503448
KrzAramis
Help Me
Posté le 31-08-2003 à 18:25:56  profilanswer
 

En effet c est le ADOConnection qui gere le mot de passe. De plus si tu veux virer le mot de passe il suffit de mettre la propriete loginprompt a FALSE.
De tout facon si tu fais la Connection String a la main et comme il le faut y a pas de probleme. Tu peux meme faire de la prise en charge de DB en dynamique (c a d pas code en hard). Il me semble bien avoir appris tout ca dans le lien que j ai file plus haut (d ailleurs c est antp qui me la file en premier).
Pour ton histoire de DBEdit ou de DBCombobox (qui je pense seai plus adpaté) tu devrais eviter !
A la place utilise une Combo classique dans laquelle tu mets tes pays ou tes numeros et dans l evenement OnChange de la Combobox tu executes une requete SQL qui te recopies le pays ou le numero la ou il faut. !! avec un peu de chance ca risque de marche dans les deux sens.
 
Je suis desole je me suis un peu perdu dans ta question.
 
@++

n°503455
davidmarli
Posté le 31-08-2003 à 19:01:51  profilanswer
 

euh question à 100 balles ? C'est quoi une requête SQL ??????


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°503578
KrzAramis
Help Me
Posté le 31-08-2003 à 21:06:47  profilanswer
 

Serieux tu sais pas ca ? tu abuses la!
C est pas possible à mon sens de faire de  la base de donnes sans connaitre SQL !!!
Dans ton cas en gros tu as besoins d un TADOCommand et dans l evenement OnChange de la combobox tu fais

Code :
  1. procedure Tform1.CmbbxOnchange ( sender : Tobject);
  2. var cmd : string;
  3. begin
  4.   with ADOCommand do begin
  5.     cmd := 'SELECT FROM Tab_Avec_Num WHERE '+ cmbbx.Items[cmbbx.Itemindex];
  6.     Command := cmd;
  7.     Execute;
  8.    end;
  9. end;


 
un requete sql comme ci dessus sert  à consulter la base de donnees, a trier les donnees dans une base etc.
Conclusion tu gagnerais beaucoup de tems a lire et faire les tutroiaux.
 
@++

n°503580
antp
Super Administrateur
Champion des excuses bidons
Posté le 31-08-2003 à 21:08:38  profilanswer
 

krzAramis a écrit :


C est pas possible à mon sens de faire de  la base de donnes sans connaitre SQL !!!


 
bah si, tu peux ne connaître que la théorie, les tables, les BD relationnelles, etc. sans avoir à manipuler de SQL...
Le SQL n'est qu'un (pas l'unique) langage de manipulation de BD


Message édité par antp le 31-08-2003 à 21:08:54

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°503595
davidmarli
Posté le 31-08-2003 à 21:35:32  profilanswer
 

pour répondre à KrzAramis, ben en fait je ne JAMAIS fais de BD. J'ai juste besoin d'utiliser des Bd pour mon prog. De plus à priori je n'ai pas grand chose à savoir dessus : juste savoir localiser un élément de la base. Car Pour Ajouter, supprimer des éléments Delphi le fait tout seul (enfin il suffit d'une seule commande et celles-ci je les ai comprises.)
 
Voilà pourquoi je n'ai pas envie (et le temps) de passer des heures à faire des tuto sur les BD.
 
au fait c'est censé faire quoi ta requete ?
 
J'ai bien compris que tu recherches dans la BD où j'ai les codes, le code qui est dans la combobox. Mais Command ça fait quoi ?
et Execute ?


Message édité par davidmarli le 31-08-2003 à 21:37:51

---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°503606
davidmarli
Posté le 31-08-2003 à 21:42:26  profilanswer
 

au fait dans ton code KrzAramis, Delphi me dit que Command est un identificateur non déclaré !!


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
n°503619
antp
Super Administrateur
Champion des excuses bidons
Posté le 31-08-2003 à 22:01:02  profilanswer
 

Puis pour exécuter du SQL c'est en général ADOQuery plutôt qu'ADOCommand qu'on utilise.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Delphi 7 et BD : pb d'accent !

 

Sujets relatifs
[Delphi] Graphe et interpolation de courbes...Splashscreen sous delphi : comment l'animer ?
Class en delphi[DELPHI] Problème pour une erreur que je n'arrive pas à résoudre
[delphi] longueur du code ... comment vous faites?[Delphi] Récupérer le nom de la base
[DELPHI] Rotation d'une image[Delphi] Problèmes d'interfaces: besoin de testeurs pour KFK
recuperer le jour de la semaine via delphiInitialisation d'un objet de type TOracleDataSet (Delphi - DOA)
Plus de sujets relatifs à : Delphi 7 et BD : pb d'accent !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR