Como executar uma Stored Procedure via Programa ?
Olá!
Sou desevolvedor D7 + FB/IB + DBExpress.
Desejaria saber como Executo uma SP via programa em tempo de execução.
Favor da um exemplo.
Desde já meus agraceimentos.
T+
ANT.CARLOS/SP
Sou desevolvedor D7 + FB/IB + DBExpress.
Desejaria saber como Executo uma SP via programa em tempo de execução.
Favor da um exemplo.
Desde já meus agraceimentos.
T+
ANT.CARLOS/SP
Ant.carlos/sp
Curtidas 0
Respostas
Gandalf.nho
23/12/2004
Se for uma procedure selecionável, use um SQLQuery mesmo (SELECT * FROM procedure), para procedures executáveis use SQLStoredProc
GOSTEI 0
Tuskinhu
23/12/2004
QryDs.Close; SQLConnection := Conection; CommandType := ctQuery; CommandText := ´Select * From ´ + ´PRC_SEQUENCIADORA (:TABELA, :CAMPO, :PENDENCIA, :VALORATUAL)´; ParamByName(´TABELA´).AsString := Tabela; ParamByName(´CAMPO´).AsString := Campo; ParamByName(´PENDENCIA´).AsString := IntToStr(Pendencia); ParamByName(´VALORATUAL´).AsString := ValorAtual; Open; Result := FieldByName(´ID_RETORNO´).AsString; Conection.Commit(Transacao); Close; Free;
e se vc precisar passar parametros pra ela use assim como ai em cima, e ID_Retorno é a variavel de retorno declarada na procedure[/code]
GOSTEI 0
Ant.carlos/sp
23/12/2004
Var Sqlx : TSQLQuery;
Begin
Sqlx := TSQLQuery.Create(Nil);
Sqlx.SQLConnection:= DMCN.SQLConnect;
WITH Sqlx do Begin
Close;
SQL.Clear;
SQL.Add(´EXECUTE PROCEDURE BAIXA_ESTOQUE
(:P_CODPROD,:P_QTDE)´);
Close;
ParamByName(´P_CODPROD´).AsString:= ´00001´
ParamByName(´P_QTDE´).AsFloat := 100;
ExecSQL;
Close;
End;
T+
ANT.CARLOS/SP
Begin
Sqlx := TSQLQuery.Create(Nil);
Sqlx.SQLConnection:= DMCN.SQLConnect;
WITH Sqlx do Begin
Close;
SQL.Clear;
SQL.Add(´EXECUTE PROCEDURE BAIXA_ESTOQUE
(:P_CODPROD,:P_QTDE)´);
Close;
ParamByName(´P_CODPROD´).AsString:= ´00001´
ParamByName(´P_QTDE´).AsFloat := 100;
ExecSQL;
Close;
End;
T+
ANT.CARLOS/SP
GOSTEI 0