Fórum Ajuda com dbExpress SqlDataSet - Procedimento Gravar #294774
07/09/2005
0
---
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
Curtir tópico
+ 0Posts
06/10/2005
Ullrich
Desde já agradeço sua ajuda.
Gostei + 0
06/10/2005
Vinicius2k
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+
Gostei + 0
11/10/2005
Ullrich
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;
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+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)