Erro stored procedure Ado
05/01/2006
0
Estou fazendo uma stored procedure para inserir dados na minha tabela, porém quando passo os paramêtros via ADO não funciona porém com IB funciona será que alguém sabe o que pode estar acontecendo segue a minha stored procedure e o código em delphi.Meu banco é Firebird, mas eu tentei no SQL server e tbm não funciou
COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;
/* Stored procedures */
CREATE PROCEDURE ´TESTE_PROC´
(
´PNOME´ VARCHAR(30),
´PNUMERO´ INTEGER,
´PDATA´ TIMESTAMP
)
RETURNS
(
´RESULTADO´ SMALLINT
)
AS
BEGIN EXIT; END ^
ALTER PROCEDURE ´TESTE_PROC´
(
´PNOME´ VARCHAR(30),
´PNUMERO´ INTEGER,
´PDATA´ TIMESTAMP
)
RETURNS
(
´RESULTADO´ SMALLINT
)
AS
begin
Insert into teste(nome,data,numero)
values(:Pnome,:Pdata,:Pnumero);
end
^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
O código em delphi:
ADOStoredProc1.Parameters.ParamByName(´PNOME´).value:=edit1.Text;
ADOStoredProc1.Parameters.ParamByName(´PNumero´).value:=strtoint(edit2.Text);
ADOStoredProc1.Parameters.ParamByName(´Pdata´).value:=strtodatetime(maskedit1.Text);
ADOStoredProc1.ExecProc;
Dá um erro de parameter mismatch na procedure ah eu tbm não consigo ativar pelo Delphi dá um erro como se a procedure não existisse, porém lá na propriedade procedure name aparece o nome da procedure o que pode estar acontecendo será que alguém pode me ajudar.
COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;
/* Stored procedures */
CREATE PROCEDURE ´TESTE_PROC´
(
´PNOME´ VARCHAR(30),
´PNUMERO´ INTEGER,
´PDATA´ TIMESTAMP
)
RETURNS
(
´RESULTADO´ SMALLINT
)
AS
BEGIN EXIT; END ^
ALTER PROCEDURE ´TESTE_PROC´
(
´PNOME´ VARCHAR(30),
´PNUMERO´ INTEGER,
´PDATA´ TIMESTAMP
)
RETURNS
(
´RESULTADO´ SMALLINT
)
AS
begin
Insert into teste(nome,data,numero)
values(:Pnome,:Pdata,:Pnumero);
end
^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
O código em delphi:
ADOStoredProc1.Parameters.ParamByName(´PNOME´).value:=edit1.Text;
ADOStoredProc1.Parameters.ParamByName(´PNumero´).value:=strtoint(edit2.Text);
ADOStoredProc1.Parameters.ParamByName(´Pdata´).value:=strtodatetime(maskedit1.Text);
ADOStoredProc1.ExecProc;
Dá um erro de parameter mismatch na procedure ah eu tbm não consigo ativar pelo Delphi dá um erro como se a procedure não existisse, porém lá na propriedade procedure name aparece o nome da procedure o que pode estar acontecendo será que alguém pode me ajudar.
Jujan
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)