Dostęp do pól w tabelach - Instrukcja obsługi programu R2płatnik, R2płatnikPRO, R2płatnikSBO RESET2 Oprogramowanie
Strona używa plików cookies (tzw. ciasteczka) do przechowywania i uzyskiwania dostępu do tej informacji w celach funkcjonalnych, statystycznych i reklamowych.
Użytkownik wyraża zgodę oraz określa warunki przechowywania lub uzyskiwania dostępu do informacji zawartej w plikach cookies za pomocą ustawień przeglądarki.
Dowiedz się więcej odwiedzając strony:

Polityka Prywatności    Regulamin sklepu      Jak wyłączyć cookies?

Przejdź do serwisu

Instrukcja obsługi R2płatnik



Dostęp do pól w tabelach

Dostęp do pól w tabelach

Funkcje API

function GetTableFieldAsString(Handle:integer; Name,Value:PChar):Boolean;stdcall;
function GetTableFieldAsStringW(Handle:integer; NameW,ValueW:PWideChar):Boolean;stdcall;

Odczytuje wartość pola znakowego w tabeli.

Parametry

  • Handle - uchwyt tabeli zwrócony przez OpenTable()

  • Name - nazwa pola tabeli (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

  • Value - wskaźnik na tablicę znakową (ciąg znaków ANSI (1-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 Char) statycznie lub zaalokować (PChar) dynamicznie

  • ValueW - 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ć (PWideChar) dynamicznie

Zwracane wartości

Jeśli można odczytać wartość pola zwraca True, w przeciwnym wypadku można odczytać komunikat o błędzie funkcją GetLastError().

Uwagi

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 Char;
var pca2:array [0..11] of Char;
GetTableFieldAsString(DanePersonalneT,'PESEL',pca1);
GetTableFieldAsString(DanePersonalneT,'PESEL',pca2);


function GetTableFieldAsInteger(Handle:integer; Name:PChar):LResult;stdcall;
function GetTableFieldAsIntegerW(Handle:integer; NameW:PWideChar):LResult;stdcall;

Odczytuje wartość pola liczbowego w tabeli.

Parametry

  • Handle - uchwyt tabeli zwrócony przez OpenTable()

  • Name - nazwa pola tabeli (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

Zwracane wartości

Zwraca wartość pola Name jako typ LResult (integer - liczba całkowita na 4 bajtach).

Uwagi

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;
function GetTableFieldAsBooleanW(Handle:integer; NameW:PWideChar):Boolean;stdcall;

Odczytuje wartość pola typu Boolean w tabeli.

Parametry

  • Handle - uchwyt tabeli zwrócony przez OpenTable()

  • Name - nazwa pola tabeli (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

Zwracane wartości

Zwraca wartość pola Name jako typ Boolean (True lub False - 1 bajt).


function GetTableFieldAsDate(Handle:integer; Name:PChar):Double;stdcall;
function GetTableFieldAsDateW(Handle:integer; NameW:PWideChar):Double;stdcall;

Odczytuje wartość pola daty i czasu w tabeli.

Parametry

  • Handle - uchwyt tabeli zwrócony przez OpenTable()

  • Name - nazwa pola tabeli (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

Zwracane wartości

Zwraca wartość pola Name jako typ Double (double - liczba zmiennoprzecinkowa na 8 bajtach). Wartość daty i czasu jest zakodowana w zwracanej wartości jako: data - część całkowita (liczba dni od 31-12-1899), czas - część po przecinku (liczba setnych części sekund od godz 00:00:00).

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;
function GetTableFieldAsFloatW(Handle:integer; NameW:PWideChar):Double;stdcall;

Odczytuje wartość pola zmiennoprzecinkowego w tabeli.

Parametry

  • Handle - uchwyt tabeli zwrócony przez OpenTable()

  • Name - nazwa pola tabeli (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

Zwracane wartości

Zwraca wartość pola Name jako typ Double (double - liczba zmiennoprzecinkowa na 8 bajtach).


function GetTableFieldAsBytes(Handle:integer; Name:PChar; Buffer:Pointer):Boolean;stdcall;
function GetTableFieldAsBytesW(Handle:integer; NameW:PWideChar; 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 (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

  • 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

Zwraca True jesli operacja się powiodła


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 (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

  • Value - wartość pola jako typ PChar (łańcuch znaków ANSI)

  • ValueW - wartość pola jako typ PChar (łańcuch znaków UNICODE)

Uwagi

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;
procedure SetTableFieldAsIntegerW(Handle:integer; NameW:PWideChar; Value:integer);stdcall;

Ustawia wartość pola liczbowego w tabeli.

Parametry

  • Handle - uchwyt tabeli zwrócony przez OpenTable()

  • Name - nazwa pola tabeli (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

  • Value - wartość pola jako typ Integer (liczba całkowita)


procedure SetTableFieldAsInteger(Handle:integer; Name:PChar; Value:integer);stdcall;
procedure SetTableFieldAsIntegerW(Handle:integer; NameW:PWideChar; Value:integer);stdcall;

Ustawia wartość pola typu Boolean w tabeli.

Parametry

  • Handle - uchwyt tabeli zwrócony przez OpenTable()

  • Name - nazwa pola tabeli (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

  • Value - wartość pola jako typ Boolean (True, False)


procedure SetTableFieldAsDate(Handle:integer; Name:PChar; Value:Double);stdcall;
procedure SetTableFieldAsDateW(Handle:integer; NameW:PWideChar; Value:Double);stdcall;

Ustawia wartość pola daty i czasu w tabeli.

Parametry

  • Handle - uchwyt tabeli zwrócony przez OpenTable()

  • Name - nazwa pola tabeli (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

  • 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;
procedure SetTableFieldAsFloatW(Handle:integer; NameW:PWideChar; Value:Double);stdcall;

Ustawia wartość pola zmiennoprzecinkowego w tabeli.

Parametry

  • Handle - uchwyt tabeli zwrócony przez OpenTable()

  • Name - nazwa pola tabeli (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

  • Value - wartość pola jako typ Double (liczba zmiennoprzecinkowa)


function SetTableFieldAsBytes(Handle:integer; Name:PChar; Buffer:Pointer):Boolean;stdcall;
function SetTableFieldAsBytesW(Handle:integer; NameW:PWideChar; 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 (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

  • 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

Zwraca True jesli operacja się powiodła


function GetTableFieldStrings(Handle:integer; Name,Value:PChar):Boolean;stdcall;
function GetTableFieldStringsW(Handle:integer; NameW,ValueW:PWideChar):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 (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

  • Value - wskaźnik na tablicę znaków ANSI, w której umieszczone zostaną możliwe wartości TEKSTOWE pola (oddzielone średnikami)

  • ValueW - wskaźnik na tablicę znaków UNICODE, w której umieszczone zostaną możliwe wartości tekstowe pola (oddzielone średnikami)

Zwracane wartości

Zwraca True jesli operacja się powiodła

Uwagi

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;
function GetTableFieldValuesW(Handle:integer; NameW,ValueW:PWideChar):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 (ANSI)

  • NameW - nazwa pola tabeli (UNICODE)

  • Value - wskaźnik na tablicę znaków ANSI, w której umieszczone zostaną możliwe wartości LICZBOWE pola (oddzielone średnikami)

  • ValueW - wskaźnik na tablicę znaków UNICODE, w której umieszczone zostaną możliwe wartości liczbowe pola (oddzielone średnikami)

Zwracane wartości

Zwraca True jesli operacja się powiodła

Uwagi

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.