Sign in Join
Wiki copytemporary

Database field type/fr: what changed

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

OldNewLine
1+---
2+[[Portal:Databases|**Portail de la base de données**]]
3+Références:
4+
5+ * [[Databases/fr|Information générale]]
6+ * [[Database libraries/fr|Bibliothèques]]
7+ * Types de champ
8+ * [[Data Controls tab/fr|Contrôles]]
9+ * [[Lazarus DB Faq/fr|FAQ]]
10+ * [[SqlDBHowto/fr|Comment faire en SQL ?]]
11+ * [[Working With TSQLQuery/fr|Travailler avec TSQLQuery]]
12+ * [[How to write in-memory database applications in Lazarus/FPC/fr|Applications de base de données en mémoire]]
13+
14+Tutoriels/articles pratiques :
15+
16+ * [[Lazarus Database Overview/fr|Vue d'ensemble]]
17+ * [[SQLdb Tutorial0/fr|0 - Configuration de la base de données]]
18+ * [[SQLdb Tutorial1/fr|1 - Commençons]]
19+ * [[SQLdb Tutorial2/fr|2 - Edition]]
20+ * [[SQLdb Tutorial3/fr|3 - Requêtes]]
21+ * [[SQLdb Tutorial4/fr|4 - Modules de données]]
22+ * [[SQLdb Programming Reference/fr|Référence de programmation SQLdb]]
23+
24+Bases de données
25+
26+ [[Advantage Database Server/fr|Advantage]] \- [[MySQLDatabases/fr|MySQL]] \- [[mssqlconn/fr|MSSQL]] \- [[postgres/fr|Postgres]] \- [[Firebird/fr|Interbase]] \- [[Firebird/fr|Firebird]] \- [[Oracle/fr|Oracle]] \- [[ODBCConn/fr|ODBC]] \- [[TParadox/fr|Paradox]] \- [[SQLite/fr|SQLite]] \- [[Lazarus Tdbf Tutorial/fr|dBASE]] \- [[MS Access/fr|MS Access]] \- [[Zeos tutorial/fr|Zeos]]
27+
28+## Contents
29+
30+ * 1 Vue d'ensemble
31+ * 2 Types
32+ * 3 Size, DataSize et Unicode
33+ * 4 Définition des types dans votre DataSet
34+ * 5 Affectation et récupération de valeurs
35+ * 6 Voir aussi
36+
137## Vue d'ensemble
238
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.
39+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.
440
541## Types
642
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. |
43+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.
5144
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.
45+Type de champ | Description
46+---|---
47+ftADT |
48+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.
49+ftAutoInc | Un champ entier avec incrémentation automatique.
50+ftBCD | Une valeur en [Décimal codé binaire (BCD)](<https://fr.wikipedia.org/wiki/D%C3%A9cimal_cod%C3%A9_binaire>).
51+ftBlob | Un objet binaire large (BLOB), destiné à stocker des données binaires arbitraires.
52+ftBoolean | Une valeur binaire (True/False).
53+ftBytes | Un nombre fixé d'octets stockés tels quels. La propriété Size doit être définie pour fonctionner.
54+ftCurrency | Un format pour précisément stocker des valeurs monétaires.
55+ftCursor |
56+ftDataSet | Sans doute destiné à stocker un DataSet entier (peut-être pour implémenter une table maître/détail).
57+ftDate | Une date sans information d'heure.
58+ftDateTime | Information date et heure.
59+ftDBaseOle | Probablement destiné à stocker des objets OLE dans les bases de données DBase. La propriété Size doit être définie pour fonctionner.
60+ftFMTBcd | Une forme de champ numérique Décimal codé binaire (BCD). La propriété Size doit être définie pour fonctionner.
61+ftFixedChar | Un champ caractères en taille fixe, semblable au type Pascal ShortString. La propriété Size doit être définie pour fonctionner.
62+ftFixedWideChar | a fixed width multibyte character field. Needs to have its Size property set to work.
63+ftFloat | Un type numérique en virgule flottante.
64+ftFmtMemo | Mémo formatté (spécifique Paradox). La propriété Size doit être définie pour fonctionner.
65+ftGraphic | Pour stocker une image. La propriété Size doit être définie pour fonctionner.
66+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.
67+ftIDispatch |
68+ftInteger | Pour des valeurs entières.
69+ftInterface |
70+ftLargeint | Un entier de plus grande taille avec une étendue plus large aussi.
71+ftMemo | Stocke une chaîne/un texte en taille variable, ne demande pas à ce que la propriété Size soit définie.
72+ftOraBlob | Probablement pour stocker des BLOB Oracle.
73+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>)
74+ftParadoxOle | Probablement pour destiné à contenir des objets OLE dans une base de données Paradox.
75+ftReference |
76+ftSmallint | Un type entier de plus petite taille que ftInteger.
77+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.
78+ftTime | Stocke de la donnée horaire seulement.
79+ftTimeStamp | Stocke de la donnée date/heure. Sans doute équivalent.
80+ftTypedBinary | Une forme de champ comme blob ?
81+ftUnknown |
82+ftVarBytes | Probablement destiné à enregistrer de la donnée Variant en taille variable.
83+ftVariant | Probablement destiné à enregistrer de la donnée Variant.
84+ftWideMemo | Un mémo avec des caractères de type widestring (UTF16).
85+ftWideString | Un champ ftString avec des caractères de type widestring (UTF16).
86+ftWord | Probablement pour stocker un valeur entière.
87+
88+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.
5389
5490## Size, DataSize et Unicode
5591
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.
92+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.
5793
58-La propriété DataSize en lecture seule indique la taille du champ en octets.
94+La propriété DataSize en lecture seule indique la taille du champ en octets.
5995
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.
96+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.
6197
6298## Définition des types dans votre DataSet
6399
64-*A faire : ecrivez-moi. Expliquer les diverses façons de faire des choses (TFieldDef, TFields) et quel DataSet supporte quelle méthodes.*
100+_A faire : ecrivez-moi. Expliquer les diverses façons de faire des choses (TFieldDef, TFields) et quel DataSet supporte quelle méthodes._
65101
66102## Affectation et récupération de valeurs
67103
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 }
104+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 :
77105```
106+FTestDataset.Open; //Open for viewing/editing/inserting
107+ FTestDataset.Append;
108+ FTestDataset.Fieldbyname('YourFieldName').Asstring := 'This is my field data'; //Suppose field YourFieldName is a memo field
109+ FTestDataset.Post; //"Commit"/save changes in the record to the dataset.
110+ writeln('YourFieldName has data:' + FTestDataset.Fieldbyname('YourFieldName').Asstring
111+ { Retrieve the field value of the current record. Because we haven't moved the record, we should get what we just entered }
112+```
78113
79-Pour les champs texte/mémo, utilisez la méthode AsString. Pour les champs date/heure, utilisez la méthode AsDateTime.
114+Pour les champs texte/mémo, utilisez la méthode AsString. Pour les champs date/heure, utilisez la méthode AsDateTime.
80115
81116## Voir aussi
82117
83-- [[Databases/fr|Bases de données]]
118+ * [[Databases/fr|Bases de données]]
84119
85120---
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).*
121+*From the Free Pascal wiki, page "Database field type/fr", as the Internet Archive kept it on 2023-03-31. 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