Instrukcja administratora > Funkcje API > Operacje na bazie danych > Dostęp do pól w tabelach | | Drukuj |
function GetTableFieldAsString(Handle:Integer; Name,Value:PChar):Boolean;stdcall; Odczytuje wartość pola znakowego w tabeli. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli •Value - wskaźnik na tablicę znakową (ciąg znaków UNICODE (2-bajtowych) zakończonych '\0'), w której umieszczona zostanie zawartość pola Name, tablicę znaków o wystarczającym rozmiarze należy wcześniej zadeklarować (Array[0..n] of WideChar) statycznie lub zaalokować (PChar) dynamicznie Zwracane wartości Zmienna Value musi zawierać tyle znaków (bajtów), jak długie może być pole Name i dodatkowo miejsce na końcowy znak '\0'. Długość pola można odczytać w strukturze bazy danych lub zadaklarować jedną globalną zmienną do odczytu wszystkich pól znakowych. Przykład const MaxLenStr=16384; var pca1:array [0..MaxLenStr-1] of WideChar; var pca2:array [0..11] of WideChar; GetTableFieldAsString(DanePersonalneT,'PESEL',pca1); GetTableFieldAsString(DanePersonalneT,'PESEL',pca2);
function GetTableFieldAsInteger(Handle:Integer; Name:PChar):LResult;stdcall; Odczytuje wartość pola liczbowego w tabeli. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli Zwracane wartości We wszystkich funkcjach typu GetTableFieldsAs... niezależnie od zwróconej wartości można odczytać ewentualny komunikat o błędzie funkcją GetLastError(). Przykład var i:integer; i:=GetTableFieldAsInteger(DanePersonalneT,'Drugie_imie'); if GetLastError(pca) then ShowMessage(pca);
function GetTableFieldAsBoolean(Handle:Integer; Name:PChar):Boolean;stdcall; Odczytuje wartość pola typu Boolean w tabeli. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli Zwracane wartości
function GetTableFieldAsDate(Handle:Integer; Name:PChar):Double;stdcall; Odczytuje wartość pola daty i czasu w tabeli. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli Zwracane wartości Przykład dat: TDateTime; dat:=GetTableFieldAsDate(DanePersonalneT,'Data_urodzenia') if GetLastError(pca) then ShowMessage(pca) else ShowMessage('Data urodzenia: '+DateToStr(dat));
function GetTableFieldAsFloat(Handle:Integer; Name:PChar):Double;stdcall; Odczytuje wartość pola zmiennoprzecinkowego w tabeli. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli Zwracane wartości
function GetTableFieldAsBytes(Handle:Integer; Name:PChar; Buffer:Pointer):Boolean;stdcall; Odczytuje wartość pola typu tablica bajtów w tabeli. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli •Buffer - wskaźnik na bufor, gdzie ma być przesłana tablica bajtów. Bufor musi mieć odpowiedni rozmiar (tyle bajtów ile ma pole w bazie) Zwracane wartości
procedure SetTableFieldAsString(Handle:Integer; Name:PChar; Value:PChar);stdcall; Ustawia wartość pola znakowego w tabeli. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli •Value - wartość pola jako typ PChar 1. Przed wywołaniem dowolnej funkcji typu SetTableFieldsAs... należy wprowadzić tabelę w tryb edycji (dsEdit lub dsInsert) funkcjami TableEdit() lub TableInsert(), a następnie zaakceptować nowe wartości funkcją TablePost() lub ewentualnie powrócić w stan dsBrowse bez akceptacji nowych wartości funkcją TableCancel(). 2. Po ustawieniu wartości pola funkcją typu SetTableFieldsAs... można sprawdzić, czy nowa wartość jest akceptowalna i odczytać ewentualny komunikat o błędzie funkcją GetLastError(). Przykład if not TableEdit(DanePersonalneT) then begin GetLastError(pca); ShowMessage(pca); exit; end; if not SetTableFieldAsString(DanePersonalneT,'PESEL','11223344444') then begin GetLastError(pca); ShowMessage(pca); TableCancel(DanePersonalneT); exit; end; if not TablePost(DanePersonalneT) then begin GetLastError(pca); ShowMessage(pca); TableCancel(DanePersonalneT); end;
procedure SetTableFieldAsInteger(Handle:Integer; Name:PChar; Value:Integer);stdcall; Ustawia wartość pola liczbowego w tabeli. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli •Value - wartość pola jako typ Integer (liczba całkowita)
procedure SetTableFieldAsBooleanr(Handle:Integer; Name:PChar; Value:Integer);stdcall; Ustawia wartość pola typu Boolean w tabeli. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli •Value - wartość pola jako typ Boolean (True, False)
procedure SetTableFieldAsDate(Handle:Integer; Name:PChar; Value:Double);stdcall; Ustawia wartość pola daty i czasu w tabeli. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli •Value - wartość pola jako typ Double (data - część całkowita; czas - część zmiennoprzecinkowa) Przykład SetTableFieldAsDate(DanePersonalneT,'Data_urodzenia',StrToDate('1972-12-31'));
procedure SetTableFieldAsFloat(Handle:Integer; Name:PChar; Value:Double);stdcall; Ustawia wartość pola zmiennoprzecinkowego w tabeli. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli •Value - wartość pola jako typ Double (liczba zmiennoprzecinkowa)
function SetTableFieldAsBytes(Handle:Integer; Name:PChar; Buffer:Pointer):Boolean;stdcall; Zapisuje zawartośc bufora do pola typu tablica bajtów. Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli •Buffer - wskaźnik na bufor, skąd ma być przesłana tablica bajtów. Bufor musi mieć odpowiedni rozmiar (tyle bajtów ile ma pole w bazie) Zwracane wartości
function GetTableFieldStrings(Handle:Integer; Name,Value:PChar):Boolean;stdcall; Odczytuje zbiór dostępnych wartości słownikowych pola typu SmallInt jako łańcuchy znaków, jeśli taki zbiór został w aplikacji zdefiniowany Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli •Value - wskaźnik na tablicę znaków ANSI, w której umieszczone zostaną możliwe wartości TEKSTOWE pola (oddzielone średnikami)
Zwracane wartości Na przykład pole Płeć w tabeli DANE PERSONALNE jest typu SmallInt i ma zdeniowane wartości słownikowe kobieta;mężczyzna dla odpowiadających mu wartości liczbowych 0;1. Funkcja ta zwróci w zmiennej Value kobieta;mężczyzna.
function GetTableFieldValues(Handle:Integer; Name,Value:PChar):Boolean;stdcall; Odczytuje zbiór dostępnych wartości liczbowych pola typu SmallInt jako liczby całkowite, jeśli taki zbiór został w aplikacji zdefiniowany Parametry •Handle - uchwyt tabeli zwrócony przez OpenTable() •Name - nazwa pola tabeli •Value - wskaźnik na tablicę znaków, w której umieszczone zostaną możliwe wartości LICZBOWE pola (oddzielone średnikami) Zwracane wartości Na przykład pole Płeć w tabeli DANE PERSONALNE jest typu SmallInt i ma zdeniowane wartości słownikowe kobieta;mężczyzna dla odpowiadających mu wartości liczbowych 0;1. Funkcja ta zwróci w zmiennej Value 0;1.
|