ExecuteSQL
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]");