Instrukcja administratora > Funkcje API > Operacje na bazie danych > Dostęp do bazy danych | | Drukuj |
function ConnectBin(IniPath:PChar):Boolean;stdcall; Podłącza się do podstawowej bazy danych programu (BIN). Wykorzystuje w tym celu plik RPlatnik.ini, w którym są zawarte informacje o połączeniu z serwerem SQL oraz RPlatnik.prt i RPlatnik.lic, zawierające informacje o posiadanej licencji. Parametry •IniPath - katalog (w formacie ANSI), wskazujący na wymagane pliki ini, prt i lic (np. C:\RESET2\Platnik.10x\BIN\) Zwracane wartości Jeśli połączenie się powiodło zwraca True, w przeciwnym wypadku można odczytać komunikat o błędzie funkcją GetLastError(). Przykład if not ConnectBin('C:\RESET2\Platnik.10x\BIN\') then begin GetLastError(pca); ShowMessage(pca); end;
function GetLastError(Value:PChar):Boolean;stdcall; Podaje szczegółowy komunikat błędu, jeśli taki wystąpił podczas wykonywania funkcji API. Parametry •Value - wskaźnik na tablicę znakową, w której umieszczony zostanie komunikat o błędzie, tablicę znaków o wystarczającym rozmiarze należy wcześniej zadeklarować •ValueW - wskaźnik na zadeklarowaną tablicę znakową, w której zostanie umieszczony komunikat w formacie UNICODE Zwracane wartości Zwraca True jeśli jest dostępny komunikat o błędzie. Funkcję tą należy wywołać bezpośrednio po funkcji API, która zwróciła błąd, gdyż kolejna funkcja API usunie komunikat o błędzie w poprzedniej funkcji. Przykład const MaxLenStr=16384; var pca:array [0..MaxLenStr-1] of WideChar; if GetLastError(pca) then ShowMessage(pca);
function LoginUser(UserName,UserPassword:PChar):LResult;stdcall; Loguje użytkownika programu. Parametry •UserName, UserPassword - nazwa użytkownika i jego hasło do programu Zwracane wartości Zwraca identyfikator użytkownika (pole X_I z tabeli UŻYTKOWNICY), jeśli logowanie się powiodło. W przeciwnym wypadku zwraca 0, wtedy szczegółowy komunikat o błędzie można odczytać funkcją GetLastError(). Po połączeniu z bazą BIN za pomocą funkcji ConnectBin() należy zalogować użytkownika. Gwarantuje nam to później poprawny dostęp do tabel programu, zgodnie z prawami dostępu ustawionymi dla konkretnego użytkownika. Przykład if not LoginUser('ADMIN','123456') then begin GetLastError(pca); ShowMessage(pca); end;
function LogoffUser(UserName:PChar):Boolean;stdcall; Wylogowuje użytkownika. Parametry •UserName - nazwa użytkownika programu, nazwę możemy pozostawić pustą - wtedy zostanie wylogowany ostatnio zalogowany użytkownik Zwracane wartości Zwraca True jeśli wylogowanie się powiodło. W przeciwnym wypadku komunikat o błędzie można odczytać funkcją GetLastError(). Jeśli użytkownik został zalogowany funkcją LoginUser() to jego wylogowanie nastąpi automatycznie przed zakończeniem aplikacji. Funkcji tej należy więc użyć tylko wtedy, jeśli chcemy przelogować się na innego użytkownika. Przykład LoginUser('ADMIN','123456'); LogoffUser(''); CloseAllTables; LoginUser('ALA','654321');
function LoginUserAsProgram:LResult;stdcall; Loguje użytkownika do pracującego programu R2Płatnik. Parametry Brak Zwracane wartości Zwraca identyfikator użytkownika (pole X_I z tabeli UŻYTKOWNICY) jeśli logowanie się powiodło. W przeciwnym wypadku zwraca 0 i wtedy szczegółowy komunikat o błędzie można odczytać funkcją GetLastError(). Działa podobnie do funkcji LoginUser, z tym że nie potrzebuje parametrów logowania, bo pobiera je z działającego programu R2Płatnik. Funkcja ta może być używana wyłącznie w aplikacjach API, które będą wywoływane bezpośrednio z programu R2Płatnik z Menu-Narzędzia. W takim wypadku nie należy wylogowywać użytkownika funkcją LogoffUser().
function ConnectDaneX(FirmIde:integer):Boolean;stdcall; Łączy się z bazą danych przyporządkowaną do konkretnej firmy. Jeśli mamy program z licencją jednofirmową będzie to z reguły 1 Parametry •FirmIde - identyfikator firmy Zwracane wartości Jeśli połączenie się powiodło, zwraca True, w przeciwnym wypadku można odczytać komunikat o błędzie funkcją GetLastError(). Po połączeniu z bazą BIN (ConnectBin()) i zalogowaniu użytkownika (LoginUser()), należy się połączyć z bazą konkretnej firmy, podając jej identyfikator. Identyfikator konkretnej firmy, obsługiwanej przez program, można odczytać z tabeli z firmami (kolumna X_I w tabeli FIRMY). Tabela ta znajduje się w bazie BIN. (pole X_I). Przykład if not ConnectDaneX(1) then begin GetLastError(pca); ShowMessage(pca); end; |