Dostęp do bazy danych - Instrukcja obsługi programu R2środki, R2środkiPRO, R2środkiSBO 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 R2środki



Dostęp do bazy danych

Dostęp do bazy danych

Funkcje API

function ConnectBin(IniPath:PChar):Boolean;stdcall;
function ConnectBinW(IniPathW:PWideChar):Boolean;stdcall;

Podłącza się do podstawowej bazy danych programu (BIN). Wykorzystuje w tym celu plik RSrodki.ini, w którym są zawarte informacje o połączeniu z serwerem SQL oraz RSrodki.prt i RSrodki.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\Srodki.3xx\BIN\)

  • IniPathW - katalog podany w formacie UNICODE

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\Srodki.3xx\BIN\') then begin
   GetLastError(pca);
   ShowMessage(pca);
end;


function GetLastError(Value:PChar):Boolean;stdcall;
function GetLastErrorW(ValueW:PWideChar):Boolean;stdcall;

Podaje szczegółowy komunikat błędu, jeśli taki wystąpił podczas wykonywania funkcji API.

Parametry

  • Value - wskaźnik na tablicę znakową (ANSI), 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.

Uwagi

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 Char;
if GetLastError(pca) then ShowMessage(pca);


function LoginUser(UserName,UserPassword:PChar):LResult;stdcall;
function LoginUserW(UserNameW,UserPasswordW:PWideChar):LResult;stdcall;

Loguje użytkownika programu.

Parametry

  • UserName, UserPassword - nazwa użytkownika i jego hasło do programu

  • UserNameW, UserPasswordW - parametry w formacie UNICODE

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

Uwagi

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;
function LogoffUserW(UserNameW:PWideChar):Boolean;stdcall;

Wylogowuje użytkownika.

Parametry

  • UserName - nazwa użytkownika programu w formacie ANSI, nazwę możemy pozostawić pustą - wtedy zostawie wylogowany ostatnio zalogowany użytkownik

  • UserNameW - nazwa użytkownika programu w formacie UNICODE

Zwracane wartości

Zwraca True jeśli wylogowanie się powiodło. W przeciwnym wypadku komunikat o błędzie można odczytać funkcją GetLastError().

Uwagi

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 R2Środki.

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

Uwagi

Działa podobnie do funkcji LoginUser, z tym że nie potrzebuje parametrów logowania, bo pobiera je z działającego programu R2Środki. Funkcja ta może być używana wyłącznie w aplikacjach API, które będą wywoływane bezpośrednio z programu R2Środki 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().

Uwagi

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;