ExecuteSQL

Ostatnia modyfikacja Wrzesień 17, 2017

Zastosowanie

Funkcja uruchamia zapytanie SQL korzystając z połączenia ODBC. Pozwala na wymianę danych z systemami zewnętrznymi. Pozwala odczytywać dane z zewnętrznych baz danych (SELECT), aktualizować je (UPDATE), dodawać nowe rekordy (INSERT) a także usuwać (DELETE). Możliwe jest również uruchamianie procedur składowanych.

Składnia

ExecuteSQL("DSN","query",["timeout"]);

Argumenty

  • DSN – (String) prawidłowy ODBC albo connectionstring
  • query – (String) komenda SQL zgodna z silnikiem bazy danych, do której zapytanie się odnosi.  W zapytaniu można odwoływać się do
    • pól systemowych (np. [CaseId],[CaseTitle]),
    • pól z formularza (np. [Data transakcji], [NIP Kontrahenta] itd.),
    • pól z tabel  (np. [Dekretacja.Konto] )
    • dla słowników  przypiętych do pól słownikowych, kiedy słownik jest importowanym słownikiem zewnętrznym, jego zewnęytrzny identyfikator  (i.e. [Kontrahent.id] itp.)
  • timeout – (String) (Opcja)  ograniczenie wykonania zapytania do określonej w tym parametrze liczby sekund (domyślnie 30s).

Zwracana wartość

Zwraca tekst.
Zwraca pierwszą kolumnę, pierwszego wiersza wyników.

Przykłady

Przykład 1:

ExecuteSQL("Driver={SQL Server Native Client 10.0};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;","Insert into Invoice (CaseId,CaseTitle,CustomerId,Price,ProductId) values ([CaseId],[CaseTitle],[Customer.id],[Positions.Price],[Positions.Product.id])");

Przykład 2:

ExecuteSQL("DSN=zebra", "exec AddInvoice [CaseId],[CaseTitle],[Customer.id],[Positions.Price],[Positions.Product.id]");