Fórum Ajuda com dbExpress SqlDataSet - Procedimento Gravar #294774

07/09/2005

0

Não consigo compilar o código no Delphi.

---
erro
[Error] Unit1.pas(56): Undeclared identifier: ´ExecProc´
---

Estou usando o dbExpress
componentes
SqlDataSet

Botão Gravar:

procedure TForm1.GravarClick(Sender: TObject);
begin
with Modulo.SpGer_Marca do
begin
Params[0].AsInteger := 1;
Params[1].AsString := ´´;
Params[2].AsString := EdtNome.Text;
ExecProc; < erro nesta linha+++++
Modulo.setMarca.Active := False;
Modulo.setMarca.Active := True;
end;
end;

-----------------------------------------------------------
No banco está tudo certo
-----------------------------------------------------------
Banco de Dados:
InterBase
Procedimento no banco de dados:

CREATE PROCEDURE GER_MARCA (
TIPO INTEGER,
ID_MARCA INTEGER,
MARCA VARCHAR(175))
RETURNS (
RESPOSTA VARCHAR(1))
AS
begin
if (TIPO = 1) then
if (not exists (select * from Tab_Marca where MARCA = :MARCA)) then
insert into Tab_marca (Marca) values (:MARCA);
else
RESPOSTA = ´X´;
else
if (:TIPO = 2) then
if (not exists (select * from Tab_modelo where ID_MARCA = :ID_MARCA)) then
delete from Tab_marca where ID_MARCA = :ID_MARCA;
else
RESPOSTA = ´X´;
else
if (:TIPO = 3) then
update Tab_marca set MARCA = :MARCA where ID_MARCA = :ID_MARCA;
suspend;
end
---------------------------------------------------------------


Ullrich

Ullrich

Responder

Posts

06/10/2005

Ullrich

Será que alguem tem alguma idéia para me ajudar, estou querendo saber como faço para executar um procedimento feito em InterBase no Delphi, quando coloco ExecProc sempre da erro.

Desde já agradeço sua ajuda.


Responder

Gostei + 0

06/10/2005

Vinicius2k

Colega,

O método ExecProc é da classe TSQLStoredProc, por este motivo não é reconhecido no TSQLDataSet.
Substitua o componente utilizado para a execução da SP.

T+


Responder

Gostei + 0

11/10/2005

Ullrich

Primeiramente, obrigado pela ajuda colega.


Estou usando um TSQLStoredProc, veja na 3 linha do procedimento
SPGer_Marca.

procedure TForm1.GravarClick(Sender: TObject);
begin
with Modulo.SpGer_Marca do
begin
Params[0].AsInteger := 1;
Params[1].AsString := ´´;
Params[2].AsString := EdtNome.Text;
ExecProc; < erro nesta linha+++++
Modulo.setMarca.Active := False;
Modulo.setMarca.Active := True;
end;
end;


Responder

Gostei + 0

11/10/2005

Vinicius2k

:?:
No seu título vc informa: ´...dbExpress SQLDataSet´.
Na mensagem vc informa: ´...estou usando dbExpress componentes SQLDataSet´.

Não dava para saber que ´SPGer_Marca´ é um TSQLStoredProc, afinal nomes são particulares...

Tem certeza que vc está utilizando TSQLStoredProc? O método ExecProc é desta classe e se, realmente, não estiver compilando por não reconhecer este método há algum ´mistério´ no seu Delphi.

T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar