|
BDE (Borland Database Engine) je 32-bitovΘ jßdro modulu
p°φstupu k databßzi pro prost°edky firmy Borland. BDE nabφzφ dostateΦnou
mno╛inu slu╛eb pro v²vojß°e databßzov²ch aplikacφ typu klient/server.
BDE mß architekturu zalo╛enou na ovladaΦφch. Ka╛d² databßzov²
formßt nebo datov² zdroj obvykle vy╛aduje samostatn² ovladaΦ BDE. Dan²
ovladaΦ m∙╛e podporovat uzav°enou rodinu datov²ch zdroj∙. Nap°. ovladaΦ
dBASE podporuje dBASE III, dBASE IV a nov∞j╣φ a FoxPro verze 2.0, 2.5 a
2.6.
BDE je navr╛en objektov∞ orientovan∞, co╛ usnad≥uje jeho
roz╣i°ovßnφ a p°izp∙sobovßnφ. K roz╣φ°enφ BDE na p°φstup k dal╣φmu databßzovΘmu
systΘmu, jednodu╣e instalujeme p°φslu╣n² ovladaΦ BDE nebo ovladaΦ ODBC
pro tento databßzov² systΘm.
V prost°edφ klient/server, aplikaΦnφ a v²vojovΘ nßstroje
sφdlφ na klientskΘm poΦφtaΦi, zatφmco datovΘ zdroje jsou umφst∞ny na databßzovΘm
serveru. BDE poskytuje transparentnφ p°φstup k databßzov²m server∙m a lokßlnφm
databßzφm.
Fßze | ┌loha | Funkce BDE |
P°φprava | Inicializace modulu p°φstupu k databßzi (BDE) | DbiInit |
P°φprava | Otev°enφ databßze | DbiOpenDatabase |
P°φprava | Otev°enφ tabulky a zφskßnφ kurzoru | DbiOpenTable |
P°φprava | Zφskßnφ vlastnostφ kurzoru | DbiGetCursorProps |
P°φprava | Alokovßnφ vyrovnßvacφ pam∞ti zßznamu | Zodpovφdß aplikace |
P°φprava | Zφskßnφ deskriptoru polo╛ky | DbiGetFieldDescs |
P°φprava | Zahßjenφ re╛imu odlo╛en²ch aktualizacφ | DbiBeginDelayedUpdates |
Zφskßvßnφ | Umφst∞nφ ukazatele a zφskßnφ zßznamu do vyrovnßvacφ pam∞ti | DbiGetNextRecord |
Zφskßvßnφ | Zφskßnφ polo╛ky z vyrovnßvacφ pam∞ti | DbiGetField |
Aktualizace | Aktualizace polo╛ky a zßpis do vyrovnßvacφ pam∞ti zßznamu | DbiPutField |
Aktualizace | Aktualizace tabulky nov²m zßznamem | DbiModifyRecord |
Aktualizace | Aplikovßnφ odlo╛en²ch zm∞n na tabulku | DbiApplyDelayedUpdates |
UkonΦenφ | UkonΦenφ re╛imu odlo╛en²ch aktualizacφ | DbiEndDelayedUpdates |
UkonΦenφ | Uzav°enφ kurzoru | DbiCloseCursor |
UkonΦenφ | Uzav°enφ databßze | DbiCloseDatabase |
UkonΦenφ | UkonΦenφ BDE (modulu p°φstupu k databßzi) | DbiExit |
Typ | JmΘno | Popis |
DBITBLNAME | szName | JmΘno tabulky |
UINT16 | iFNameSize | Plnß velikost jmΘna souboru |
DBINAME | szTableType | Typ tabulky |
UINT16 | iFields | PoΦet polo╛ek v tabulce |
UINT16 | iRecSize | Velikost zßznamu (logick² zßznam) |
UINT16 | iRecBufSize | Velikost zßznamu (fyzick² zßznam) |
UINT16 | iKeySize | Velikost klφΦe |
UINT16 | iIndexes | PoΦet souΦasn∞ dostupn²ch index∙ |
UINT16 | iValChecks | PoΦet test∙ p°φpustnosti |
UINT16 | iRefIntChecks | PoΦet omezenφ referenΦnφ integrity |
UINT16 | iBookMarkSize | Velikost zßlo╛ky |
BOOL | bBookMarkStable | true, pokud kurzor podporuje trvalΘ zßlo╛ky |
DBIOpenMode | eOpenMode | dbiREADWRITE, dbiREADONLY |
DBIShareMode | eShareMode | dbiOPENSHARED, dbiOPENEXCL |
BOOL | bIndexed | true, pokud index je aktivnφ |
INT16 | iSeqNums | 1: mß sekvenΦnφ Φφsla (Paradox), 0: mß Φφsla zßznam∙ (dBASE, FoxPro), <0 (-1,-2,...): nic (SQL a Access). |
BOOL | bSoftDeletes | true, pokud kurzor podporuje m∞kkΘ ru╣enφ (pouze dBASE a FoxPro) |
BOOL | bDeletedOn | true, pokud zru╣enΘ zßznamy jsou viditelnΘ |
UINT16 | iRefRange | Pokud > 0, pak mß aktivnφ obnovenφ |
XLTMode | exltMode | P°ekladov² re╛im: xltNONE (fyzickΘ typy), xltFIELD (logickΘ typy) |
UINT16 | iRestrVersion | ╚φslo verze |
BOOL | bUniDirectional | true, pokud kurzor je jednosm∞rn² (pouze SQL) |
PRVType | eprvRights | Tabulkovß ·rove≥ prßv |
UINT16 | iFmlRights | Rodinnß prßva (pouze Paradox) |
UINT16 | iPasswords | PoΦet pomocn²ch hesel (pouze Paradox) |
UINT16 | iCodePage | K≤dovß strßnka (0 pokud nenφ znßma) |
BOOL | bProtected | true, pokud tabulka je chrßn∞na heslem |
UINT16 | iTblLevel | Na ovladaΦi zßvislß tabulkovß ·rove≥ |
DBINAME | szLangDriver | SymbolickΘ jmΘno jazykovΘho ovladaΦe |
BOOL | bFieldMap | true, pokud mapovßnφ polo╛ek je aktivnφ |
UINT16 | iBlockSize | Velikost datovΘho bloku ve slabikßch (je-li) |
BOOL | bStrictRefInt | true, pokud se vy╛aduje p°esnß referenΦnφ integrita |
UINT16 | iFilters | PoΦet filtr∙ |
BOOL | bTempTable | true, pokud tabulka je doΦasnß |
Kdy╛ alokujeme pam∞╗, pak jsou v²znamnΘ nßsledujφcφ prvky:
Typ | JmΘno | Popis |
UINT16 | iFldNum | ╚φslo polo╛ky (1 a╛ n) |
DBINAME | szName | Specifikuje jmΘno polo╛ky. |
UINT16 | iFldType | Specifikuje typ polo╛ky. V zßvislosti na p°ekladovΘm re╛imu kurzoru je vracen fyzick² nebo logick² typ polo╛ky. |
UINT16 | iSubType | Specifikuje podtyp polo╛ky. To m∙╛e b²t logick² podtyp BDE nebo fyzick² podtyp ovladaΦe v zßvislosti na p°ekladovΘm re╛imu. |
UINT16 | iUnits1 | Specifikuje poΦet znak∙, Φφslic apod. Pro logickΘ typy polo╛ek, toto Φφslo je konzistentnφ p°es ovladaΦe. Pro fyzickΘ typy polo╛ek, interpretace zßvisφ na ovladaΦi. Pro v∞t╣inu ovladaΦ∙ iUnits1 je p°esnost a iUnits2 je m∞°φtko. |
UINT16 | iUnits2 | Specifikuje poΦet desetinn²ch mφst, apod. Viz specifikace pro iUnits1. |
UINT16 | iOffset | Specifikuje ofset tΘto polo╛ky ve vyrovnßvacφ pam∞ti zßznamu. Zßvisφ na p°ekladovΘm re╛imu. |
UINT16 | iLen | Specifikuje dΘlku tΘto polo╛ky. Zßvisφ na p°ekladovΘm re╛imu. |
UINT16 | iNullOffset | Specifikuje ofset indikßtoru NULL pro tuto polo╛ku ve vyrovnßvacφ pam∞ti zßznamu. P°i nule nenφ indikßtor NULL. |
FLDVchk | efldvVchk | Specifikuje zda k polo╛ce je p°i°azen test p°φpustnosti. |
FLDRights | efldrRights | Specifikuje p°φstupovß prßva pro polo╛ku. |
iFldNum | Specifikuje ID polo╛ky zßvisejφcφ na ovladaΦi. Pro v∞t╣inu ovladaΦ∙ je to hodnota od 1 do curProps.iFields, mimo tabulek Paradoxu. |
Pro konzistentnost nad ovladaΦi, pou╛φvßme po°adφ polo╛ky v poli deskriptor∙. DbiGetField a DbiPutField pou╛φvajφ po°adovß Φφsla od 1 do n.
Typ BDE | Ekvivalent C | Popis |
fldZSTRING | char[ ] | Nulou ukonΦenΘ pole znak∙. |
fldUINT16 | unsigned int | 16 bitovΘ celΘ Φφslo bez znamΘnka. |
fldINT16 | int | 16 bitovΘ celΘ Φφslo. |
fldUINT32 | unsigned long | 32 bitovΘ celΘ Φφslo bez znamΘnka. |
fldINT32 | long | 32 bitovΘ celΘ Φφslo. |
fldFLOAT | double | 64 bitovΘ Φφslo v pohyblivΘ °ßdovΘ Φßrce. |
fldFLOATIEEE | long double | 80 bitovΘ Φφslo v pohyblivΘ °ßdovΘ Φßrce. |
fldBOOL | int | 16 bitovß hodnota, true =1; false = 0. |
fldBYTES | unsigned char[ ] | Pole slabik pevnΘ dΘlky. |
fldVARBYTES | unsigned char[ ] | DΘlkou p°edchßzenΘ pole slabik. |
Nßvratov² k≤d | V²slednß akce |
cbrABORT | Celß operace COMMIT je zru╣ena. Je to implicitnφ nßvratov² k≤d, pokud funkce zp∞tnΘho volßnφ nenφ registrovßna. |
cbrSKIP | Chybnß aktualizaΦnφ operace je p°eskoΦena a proces COMMIT pokraΦuje pro zb²vajφcφ aktualizace. |
cbrCONTINUE | Chybnß aktualizaΦnφ operace je p°eskoΦena a proces COMMIT pokraΦuje pro zb²vajφcφ aktualizace. |
cbrRETRY | Chybnß aktualizaΦnφ operace bude zopakovßna. |
cbrPARTIALASSIST | Zm∞ny u╛ivatele jsou dr╛eny v cache. V tomto p°φpad∞, u╛ivatel aplikuje zm∞ny na p∙vodnφ tabulku. |
|