Volání uložených procedur a SQL příkazů

Top  Previous  Next

Seznam témat:

řešení

 

Řešení

Volání uložené procedury jen se vstupními parametry

begin

 ExecSQL('call dba.gwritetosyslog(:typ, :text)',

   ['Test', 'Toto je testovací zápis']);

end.

 

 

Volání uložené procedury také s výstupními parametry

 

begin

 //zjisti jaká práva má daný user na danou tabulku

 //pozn.: na tohle lze využít hotovou funkci UserTablePerms

 with TStoredProc.Create(nil) do

 try

   DatabaseName := DefaultDatabaseName;

   StoredProcName := 'dba.ggetuserperm';

   Prepare;

   //vstupní parametry

   Params[0].AsString := 'gfirmy'; //table name

   Params[1].AsString := 'dba'; //user name

   //výstupní parametry - nutno nastavit nějakou počáteční hodnotu dle typu

   Params[2].AsString := ''; //právo na select (Y/N)

   Params[3].AsString := ''; //právo na insert (Y/N)

   Params[4].AsString := ''; //právo na delete (Y/N)

   Params[5].AsString := ''; //právo na update (Y/N)

   ExecProc;

   OKBox('select: '+Params[2].AsString);

   OKBox('insert: '+Params[3].AsString);

   OKBox('delete: '+Params[4].AsString);

   OKBox('update: '+Params[5].AsString);

 finally

   Free;

 end;

end.

 

 

Související témata