SQLStoredProc x Delphi 7 x SQL Serverr
Ola,
estou tentndo utilizar o componente SQLStoredProc(dbexpress) com delphi 7. Coloco o componente e associo o SQLConnection, mas não lista as procedures. Tentei criar em tempo de execução
with SqlProcedure do
begin
StoredProcName:=´sp_executacalculoanalise´;
params.clear;
P1 := TParam.Create(Params, ptInput);
Params[0].Name := ´@CDAnalise´;
ParamByname(´@CDAnalise´).AsString := ´1´;
Execproc
end;
E acontece o seguinte erro list index of bound(0).
Obs.: Utilizando o sqlquery funciona.
Alguém poderia me ajudar?
Giordano Almeida
estou tentndo utilizar o componente SQLStoredProc(dbexpress) com delphi 7. Coloco o componente e associo o SQLConnection, mas não lista as procedures. Tentei criar em tempo de execução
with SqlProcedure do
begin
StoredProcName:=´sp_executacalculoanalise´;
params.clear;
P1 := TParam.Create(Params, ptInput);
Params[0].Name := ´@CDAnalise´;
ParamByname(´@CDAnalise´).AsString := ´1´;
Execproc
end;
E acontece o seguinte erro list index of bound(0).
Obs.: Utilizando o sqlquery funciona.
Alguém poderia me ajudar?
Giordano Almeida
Giordano
Curtidas 0
Respostas
Juliermecarvalho
31/03/2009
Cara eu uso assim, em um sistema que eu tenho e funciona que é uma beleza!
var
ssp: TSQLStoredProc;
begin
ssp := TSQLStoredProc.Create(nil);//crio em tempo de execução
ssp.SQLConnection := DM.sqlConn;//passo a conexão
ssp.StoredProcName := ´SP_GRUPOS´;//passo a procedure que vai ser executada
ssp.Close;
ssp.ParamByName(´PCODIGO´ ).AsInteger := StrToInt(edtCodigo.Text);//passo os parametros aqui o codigo do grupo
ssp.ParamByName(´PNOME´ ).AsString := edtNome.Text;//aqui o nome do grupo
ssp.ExecProc;//executo a procedure
FreeAndNil(ssp);// retiro da memoria a procedure
end;
Neste exemplo eu crio em tempo de execução mais nada impede você de colocar o componente storeproc que vai funcionar normalmente, se você colocar o componente não precisa criar em tempo de execução só usaria esta parte do código.
ssp.Close;
ssp.ParamByName(´PCODIGO´ ).AsInteger := StrToInt(edtCodigo.Text);//passo os parametros aqui o codigo do grupo
ssp.ParamByName(´PNOME´ ).AsString := edtNome.Text;//aqui o nome do grupo
ssp.ExecProc;//executo a procedure
var
ssp: TSQLStoredProc;
begin
ssp := TSQLStoredProc.Create(nil);//crio em tempo de execução
ssp.SQLConnection := DM.sqlConn;//passo a conexão
ssp.StoredProcName := ´SP_GRUPOS´;//passo a procedure que vai ser executada
ssp.Close;
ssp.ParamByName(´PCODIGO´ ).AsInteger := StrToInt(edtCodigo.Text);//passo os parametros aqui o codigo do grupo
ssp.ParamByName(´PNOME´ ).AsString := edtNome.Text;//aqui o nome do grupo
ssp.ExecProc;//executo a procedure
FreeAndNil(ssp);// retiro da memoria a procedure
end;
Neste exemplo eu crio em tempo de execução mais nada impede você de colocar o componente storeproc que vai funcionar normalmente, se você colocar o componente não precisa criar em tempo de execução só usaria esta parte do código.
ssp.Close;
ssp.ParamByName(´PCODIGO´ ).AsInteger := StrToInt(edtCodigo.Text);//passo os parametros aqui o codigo do grupo
ssp.ParamByName(´PNOME´ ).AsString := edtNome.Text;//aqui o nome do grupo
ssp.ExecProc;//executo a procedure
GOSTEI 0