|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre expérimenté
![]() ![]() Inscription : avril 2002 Messages : 424 ![]() |
Bonjour,
Je suis sous Windows XP, lazarus 0.9.28.2 et Sqlite version courante. j'ai importé un fichier CSV dans SQLITE avec Sqlite Administrator 0.8.3.2. dans cette base j'ai un champ <NOMPRENOM> en format TEXT, un champ <DATENAISSANCE> format DATE, un champ <RESPLEGAL> que j'ai mis en NVARCHAR pour voir si des fois ça résoudrait mon pb (mais non !) Comme vous pouvez le voir sur la capture d'écran en PJ, dans le premier champ j'ai l'affichage "(MEMO)" au lieu des valeurs, dans le 2ème champ (type 'DATE') je n'ai rien alors que sous Sqlite administrator j'ai tout. J'ai essayé avec tous les types possibles de valeurs Sqlite, rien n'y fait, même VACHAR a un comportement étrange. Qu'st-ce que j'ai loupé ? Je précise que c'est la 1ère fois que j'utilise Sqlite avec Lazarus puisque jusqu'à maintenant j'utilisais le composant TDBF qui me donnait entièrement satisfaction. Je pense que je vais peut-être continuer même si cette techno est très obsolète car je n'y comprends rien avec Sqlite... Si vous avez une idée... Merci d'avance.
__________________
"Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth |
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() ![]() |
Bonjour,
Tout simplement , la raison y est donnée... ![]() Date et DateTime sous Lazarus Ensuite en conservant ces composant, on peut jouer avec la propriété SQL du composant : Code sql :
Comme le dit la FAQ, il vaut mieux utiliser les composants open source ZEOS. -- Philippe. |
||
|
|
10
|
|
|
#3 |
|
Membre expérimenté
![]() ![]() Inscription : avril 2002 Messages : 424 ![]() |
Merci pour cette réponse qui éclaircit le problème du type 'DATE' mais toujours pas celui de l'affichage d'un champ 'TEXT' en "(MEMO)' comme indiqué par la capture d'écran.
C'est là mon principal problème bien que celui du champ 'DATE' était subsidiaire. J'ai lu la effectivement mais je n'ai rien trouvé sur ce sujet.Je préfèrerais utiliser les composants natifs plutôt que ZEOS mais je n'en fais une question de principe... sans compter que sous ZEOSLIB le problème apparaît également si j'en crois ce forum : http://zeos.firmos.at/viewtopic.php?t=1377 Bref, est-ce que quelqu'un a une idée ?
__________________
"Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Développeur informatique Inscription : janvier 2010 Messages : 185 ![]() |
Bonjour
Eh bien la solution est indiquée dans le fil lié à celui que tu cites dans le forum Zeos... Le type TEXT est prévu pour stocker une très grande quantité de caractères, et il me parait normal que, par défaut, une dbgrid n'en affiche pas la totalité, ni même le début (comme SqlLite Admin) qui n'est généralement pas très significatif. S'il y a seulement une chaîne courte, telle que nom+prénom à stocker, les types varchar sont bien plus indiqués. S'il n'est pas possible de changer ce type, alors on peut bricoler avec On GetText pour afficher le début seulement.
__________________
Cordialement, Tintinux Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS. Elle est en cours de développement, avec Lazarus. Vous pouvez peut-être aider à la tester, la traduire et même à la développer. |
|
|
10
|
|
|
#5 | |||
|
Membre expérimenté
![]() ![]() Inscription : avril 2002 Messages : 424 ![]() |
Citation:
Citation:
Citation:
En fait j'ai résolu mon pb en utilsant à la fois des 'VARCHAR' et en exportant la base SQLite comme "format SQL" ce qui, je suppose, convertit les types dynamiques en types statiques SQL. Toujours est-il qu'ainsi ça fonctionne.
__________________
"Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth |
|||
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() ![]() Inscription : avril 2002 Messages : 424 ![]() |
J'ai désormais un autre problème
Quelqu'un a-t-il déjà rencontré ce pb ? (PS : inutile de me préciser que cette erreur est un débordement de pile, je le sais déjà, ce que je voudrais savoir c'est pourquoi cette erreur se produit dans les conditions décrites).
__________________
"Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth |
|
|
00
|
|
|
#7 |
|
Membre expérimenté
![]() ![]() Inscription : avril 2002 Messages : 424 ![]() |
Je me réponds à moi-même : c'était une erreur de code. J'avais fixé la propriété Mastersource du composant Sqlite3Dataset1 à Dataset1. Il a suffi que j'enlève cette valeur pour que tout fonctionne bien.
Je suppose que cela devait produire une sorte de récurrence ce qui faisait déborder la pile. Si cela peut servir à d'autres néophytes en base de données SQL ...
__________________
"Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth |
|
|
00
|
|
|
#8 | |||
|
Membre confirmé
![]() Développeur informatique Inscription : janvier 2010 Messages : 185 ![]() |
Citation:
Citation:
Citation:
__________________
Cordialement, Tintinux Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS. Elle est en cours de développement, avec Lazarus. Vous pouvez peut-être aider à la tester, la traduire et même à la développer. |
|||
|
|
00
|
|
|
#9 | |
|
Membre expérimenté
![]() ![]() Inscription : avril 2002 Messages : 424 ![]() |
Je faisais allusion au format interne des données dans SQLite qui est différent de celui des autres SGBD puisque SQLite utilise le typage dynamique. Le reste est purement une hypothèse personnelle mais la conversion en "Format SQL" sous SQLite est peut-être une conversion en typage statique (mais peut-être pas). Citation:
J'ai résolu mon problème (jusqu'au suivant ...)
__________________
"Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com