MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
en effet, n'ayant pas rencontré de pb, je n'avais jamais trop regardé la taille maxi pour un entier ...
Comment se fait-il que je ne rencontre pas ce problème en travaillant sur ma table en direct,
le REFDB va actuellement jusqu'à 75751 et je n'ai pas d'erreur avec ce type de requete : where REFDB = :WREFDB
Quelle est la différence avec localsql ?
c'est du B.A.B.A et à toujours tenir à l'espriten effet, n'ayant pas rencontré de pb, je n'avais jamais trop regardé la taille maxi pour un entier ...
https://www.promotic.eu/en/pmdoc/Sub.../DataTypes.htm
de plus Il y a entier (smallint) entier (Integer) et (entier) BIGINT et je pourrais en ajouter d'autres
ce n'est pas tant avec LocalSQL que des différences entre Firebird et SQLite ainsi que des interprétations faites c'est là que les maprules interviennent et quelquefois, celles par défaut ne sont pas correctes. De même que le nombres de Bits (32/64) peut être un facteur supplémentaire de confusion du compilateurQuelle est la différence avec localsql ?
http://docwiki.embarcadero.com/RADSt...e_avec_FireDAC chapitre "Mappage de SQLite sur les types de données FireDAC"
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Merci pour ces informations,
Si j'ai bien compris le probleme de limite vient de :
FireDAC utilise une structure de données Integer de 4 octets de long pour dtInt32 (<= 2147483647)
Sqlite SMALLINT | INT16 [UNSIGNED] dtInt16 / dtUInt16 (<= 32767)
Et pour y remédier il faut créer une collection MapRules du style :
Est-il possible de ne créer que cette règle de mappage et que pour le reste ce soit les valeurs par défaut ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 with MapRules.Add do begin ScaleMin := 0; ScaleMax := 0; PrecMin := 5; PrecMax := 8; SourceDataType := dtBcd; TargetDataType := dtInt32; end;
Oui, bien sûr mais attention à mettre ownmaprules à true sans cela, cela ne sert à rien. Toutefois je ne suis pas sur que ce soit la bonne règle qui soit codée
S'il y a toujours Batchmove, je pense déjà l'avoir cité, il y a les maprules qu'il faudrait simplement modifier
NB Sqlite à le type INTEGER aussi
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Merci encore pour votre aide si efficace et rapide
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager