Sign in Join
Wiki copytemporary

Database field type/fr: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Database field type/fr

OldNewLine
1+## Vue d'ensemble
2+
3+Les champs de base de données FCL-DB peuvent avoir différents types de données. Dans les datasets, un sous-ensemble de ces types est disponible. Les types pris en charge diffèrent selon le type de dataset.
4+
5+## Types
6+
7+Actuellement, Les types de champ suivant sont définis : Voir [Documentation sur le type de champ de la FCL](http://lazarus-ccr.sourceforge.net/docs/fcl/db/tfieldtype.html). A faire : Ajouter l'information sur l'affectation, (p.exe. pouvez-vous utiliser .AsString) et des information supplémentaires au dessous.
8+
9+| Type de champ | Description |
10+|----|----|
11+| ftADT | |
12+| ftArray | Représente un type de donnée Array de Interbase 6/Firebird (tableau de simple type de donnée comme varchar ou integer). Toutefois, SQLDB ne prends pas en charge le type de donnée Array actuellement. |
13+| ftAutoInc | Un champ entier avec incrémentation automatique. |
14+| ftBCD | Une valeur en [Décimal codé binaire (BCD)](https://fr.wikipedia.org/wiki/D%C3%A9cimal_cod%C3%A9_binaire). |
15+| ftBlob | Un objet binaire large (BLOB), destiné à stocker des données binaires arbitraires. |
16+| ftBoolean | Une valeur binaire (True/False). |
17+| ftBytes | Un nombre fixé d'octets stockés tels quels. La propriété Size doit être définie pour fonctionner. |
18+| ftCurrency | Un format pour précisément stocker des valeurs monétaires. |
19+| ftCursor | |
20+| ftDataSet | Sans doute destiné à stocker un DataSet entier (peut-être pour implémenter une table maître/détail). |
21+| ftDate | Une date sans information d'heure. |
22+| ftDateTime | Information date et heure. |
23+| ftDBaseOle | Probablement destiné à stocker des objets OLE dans les bases de données DBase. La propriété Size doit être définie pour fonctionner. |
24+| ftFMTBcd | Une forme de champ numérique Décimal codé binaire (BCD). La propriété Size doit être définie pour fonctionner. |
25+| ftFixedChar | Un champ caractères en taille fixe, semblable au type Pascal ShortString. La propriété Size doit être définie pour fonctionner. |
26+| ftFixedWideChar | a fixed width multibyte character field. Needs to have its Size property set to work. |
27+| ftFloat | Un type numérique en virgule flottante. |
28+| ftFmtMemo | Mémo formatté (spécifique Paradox). La propriété Size doit être définie pour fonctionner. |
29+| ftGraphic | Pour stocker une image. La propriété Size doit être définie pour fonctionner. |
30+| ftGuid | Un champ pour stocker un identificateur global unique (GUID, *Globally Unique Identifier*). Dans le code actuel, la taille de ce champ doit être mise à 38. |
31+| ftIDispatch | |
32+| ftInteger | Pour des valeurs entières. |
33+| ftInterface | |
34+| ftLargeint | Un entier de plus grande taille avec une étendue plus large aussi. |
35+| ftMemo | Stocke une chaîne/un texte en taille variable, ne demande pas à ce que la propriété Size soit définie. |
36+| ftOraBlob | Probablement pour stocker des BLOB Oracle. |
37+| ftOraClob | Probablement pour stocker des CLOB Oracle : un type de données Oracle qui peut tenir jusqu'à 4 Go de donnée [1](http://www.orafaq.com/wiki/CLOB) |
38+| ftParadoxOle | Probablement pour destiné à contenir des objets OLE dans une base de données Paradox. |
39+| ftReference | |
40+| ftSmallint | Un type entier de plus petite taille que ftInteger. |
41+| ftString | Stocke de la donnée chaîne ; la propriété Size doit être définie en précisant le nombre maximal de caractères possibles dans le champ. |
42+| ftTime | Stocke de la donnée horaire seulement. |
43+| ftTimeStamp | Stocke de la donnée date/heure. Sans doute équivalent. |
44+| ftTypedBinary | Une forme de champ comme blob ? |
45+| ftUnknown | |
46+| ftVarBytes | Probablement destiné à enregistrer de la donnée Variant en taille variable. |
47+| ftVariant | Probablement destiné à enregistrer de la donnée Variant. |
48+| ftWideMemo | Un mémo avec des caractères de type widestring (UTF16). |
49+| ftWideString | Un champ ftString avec des caractères de type widestring (UTF16). |
50+| ftWord | Probablement pour stocker un valeur entière. |
51+
52+Remarque : Un certain nombre de ces types de champ provient du monde Paradox et n'ont pas d'équivalent dans d'autres bases. Delphi les proposait à l'origine du fait de sa forte relation aux BDE.
53+
54+## Size, DataSize et Unicode
55+
56+Reamrquez que pour les champs de type chaîne, la propriété Size indique le nombre de caractères qui peuvent être enregistrés. Comme indiqué dans [[FPC Unicode support/fr|FPC Unicode support/fr#Introduction]], FPC jusqu'à la version 2.6 incluse, traite avec des chaînes de caractères simples **ANSI/ASCII** ; il ne supporte pas les caractères Unicode/UTF8/UTF16/Unicodestring.
57+
58+La propriété DataSize en lecture seule indique la taille du champ en octets.
59+
60+Si vous utilisez des caractères à octets multiples (*multibyte characters*, p.ex. encodés en UTF8 ou UTF16/Unicodestring), DataSize et Size ne signifie pas la même chose. Si vous utilisez des caractères ANSI/ASCII, DataSize et Size signifie la même chose.
61+
62+## Définition des types dans votre DataSet
63+
64+*A faire : ecrivez-moi. Expliquer les diverses façons de faire des choses (TFieldDef, TFields) et quel DataSet supporte quelle méthodes.*
65+
66+## Affectation et récupération de valeurs
67+
68+Une fois que vous avez défini les champs dans votre DataSet, vous pouvez affecter et récupérer de la donnée de cette façon - supposons que vous avez un DataSet appelé FTestDataset :
69+
70+``` pascal
71+ FTestDataset.Open; //Open for viewing/editing/inserting
72+ FTestDataset.Append;
73+ FTestDataset.Fieldbyname('YourFieldName').Asstring := 'This is my field data'; //Suppose field YourFieldName is a memo field
74+ FTestDataset.Post; //"Commit"/save changes in the record to the dataset.
75+ writeln('YourFieldName has data:' + FTestDataset.Fieldbyname('YourFieldName').Asstring
76+ { Retrieve the field value of the current record. Because we haven't moved the record, we should get what we just entered }
77+```
78+
79+Pour les champs texte/mémo, utilisez la méthode AsString. Pour les champs date/heure, utilisez la méthode AsDateTime.
80+
81+## Voir aussi
82+
83+- [[Databases/fr|Bases de données]]
84+
85+---
86+*From the Free Pascal wiki, page "Database field type/fr", as it stood on 2020-02-12 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history