Erro na chamada da stored procedure (Delphi 7 SQL Server 2008)
Bom dia.
Alguèm poderia me mostrar onde esta o erro.
Listo a procedure e a chamada dentro do Delphi.
Obrigado pela ajuda.
*************************************************
** Chamada da procedure (passagem dos parametros
*************************************************
with stdBuscaParametro do
begin
stdBuscaParametro.close;
// Percorre a lista de variáveis de parâmetros
// Atribui os valores aos parâmetros da procedure
ParamByName(FORMULARIO).AsString := Copy(FRMSIS_MENU_PRINCIPAL.Formulario, 1, 40);
ParamByName(CODUSUARIO).AsInteger := FRMSIS_MENU_PRINCIPAL.CodUsuAtual;
ParamByName(CHAVE).AsString := Chave;
ParamByName(PROGRAMA).AsString := F;
ParamByName(CONFIGURACAO).AsString := ;
// Executa a procedure
ExecProc;
Result := ParamByName(CONFIGURACAO).AsString;
end;
*************************************************
** procedure no SQL Server 2008
*************************************************
ALTER PROCEDURE [dbo].[PROC_BUSCA_PARAMETRO](
@Formulario VARCHAR(40),
@CodUsuario INTEGER,
@Chave VARCHAR(60),
@Programa CHAR(1),
@Configuracao VARCHAR(60) OUTPUT )
AS
BEGIN
SET @Configuracao = ( SELECT CONFIGURACAO
FROM PARAM_TELA
WHERE FORMULARIO = @Formulario
AND CODIGO_USUARIO = @CodUsuario
AND CHAVE = @Chave
AND PROGRAMA = @Programa);
SELECT @Configuracao
END
Alguèm poderia me mostrar onde esta o erro.
Listo a procedure e a chamada dentro do Delphi.
Obrigado pela ajuda.
*************************************************
** Chamada da procedure (passagem dos parametros
*************************************************
with stdBuscaParametro do
begin
stdBuscaParametro.close;
// Percorre a lista de variáveis de parâmetros
// Atribui os valores aos parâmetros da procedure
ParamByName(FORMULARIO).AsString := Copy(FRMSIS_MENU_PRINCIPAL.Formulario, 1, 40);
ParamByName(CODUSUARIO).AsInteger := FRMSIS_MENU_PRINCIPAL.CodUsuAtual;
ParamByName(CHAVE).AsString := Chave;
ParamByName(PROGRAMA).AsString := F;
ParamByName(CONFIGURACAO).AsString := ;
// Executa a procedure
ExecProc;
Result := ParamByName(CONFIGURACAO).AsString;
end;
*************************************************
** procedure no SQL Server 2008
*************************************************
ALTER PROCEDURE [dbo].[PROC_BUSCA_PARAMETRO](
@Formulario VARCHAR(40),
@CodUsuario INTEGER,
@Chave VARCHAR(60),
@Programa CHAR(1),
@Configuracao VARCHAR(60) OUTPUT )
AS
BEGIN
SET @Configuracao = ( SELECT CONFIGURACAO
FROM PARAM_TELA
WHERE FORMULARIO = @Formulario
AND CODIGO_USUARIO = @CodUsuario
AND CHAVE = @Chave
AND PROGRAMA = @Programa);
SELECT @Configuracao
END
Rfb
Curtidas 0
Respostas
Deivison Melo
11/07/2012
Segue exemplo abaixo, na época que fiz esse sistema utilizei os componentes de acesso ADO.
********************************************************************************************
procedure TfrmCadastro.btnGravarClick(Sender: TObject);
var
campo: String[1];
begin
with DM.ProcedureInsert do
begin
DM.ProcedureInsert.Parameters.ParamByName(@codLoja).Value:=01; // Valor Padrão - Referente ao Número da Loja!!!!
DM.ProcedureInsert.Parameters.ParamByName(@nomeCliente).Value:=edtNome.Text;
DM.ProcedureInsert.Parameters.ParamByName(@tipo).Value:=F;
case cbTipoPessoa.ItemIndex of
0: campo := F; //Tipo Pessoal (F): Pessoa Fisíca!
1: campo := J; //Tipo Pessoal (J): Pessoa Jurídica!
end;
DM.ProcedureInsert.Parameters.ParamByName(@tipoPessoa).Value:=campo; //Recebe o valor da variável campo que informa a pessoa!!!
DM.ProcedureInsert.Parameters.ParamByName(@enderecoCliente).Value:=edtEndereco.Text;
DM.ProcedureInsert.Parameters.ParamByName(@municipioCliente).Value:=edtCidade.Text;
DM.ProcedureInsert.Parameters.ParamByName(@ufCliente).Value:=edtEstado.Text;
DM.ProcedureInsert.Parameters.ParamByName(@bairroCliente).Value:=edtBairro.Text;
DM.ProcedureInsert.Parameters.ParamByName(@cepCliente).Value:=edtCEP.Text;
DM.ProcedureInsert.Parameters.ParamByName(@foneCliente).Value:=edtTelefone.Text;
DM.ProcedureInsert.Parameters.ParamByName(@cgcCliente).Value:=edtCPFCNPJ.Text;
DM.ProcedureInsert.Parameters.ParamByName(@incricaoCliente).Value:=edtInscEstadual.Text;
DM.ProcedureInsert.Parameters.ParamByName(@emailCliente).Value:=edtEmail.Text;
DM.ProcedureInsert.ExecProc;
DM.ProcedureInsert.Close;
ShowMessage(Dados inseridos com sucesso!);
LimpaForm;
edtCPFCNPJ.SetFocus;
end;
end;
********************************************************************************************
********************************************************************************************
procedure TfrmCadastro.btnGravarClick(Sender: TObject);
var
campo: String[1];
begin
with DM.ProcedureInsert do
begin
DM.ProcedureInsert.Parameters.ParamByName(@codLoja).Value:=01; // Valor Padrão - Referente ao Número da Loja!!!!
DM.ProcedureInsert.Parameters.ParamByName(@nomeCliente).Value:=edtNome.Text;
DM.ProcedureInsert.Parameters.ParamByName(@tipo).Value:=F;
case cbTipoPessoa.ItemIndex of
0: campo := F; //Tipo Pessoal (F): Pessoa Fisíca!
1: campo := J; //Tipo Pessoal (J): Pessoa Jurídica!
end;
DM.ProcedureInsert.Parameters.ParamByName(@tipoPessoa).Value:=campo; //Recebe o valor da variável campo que informa a pessoa!!!
DM.ProcedureInsert.Parameters.ParamByName(@enderecoCliente).Value:=edtEndereco.Text;
DM.ProcedureInsert.Parameters.ParamByName(@municipioCliente).Value:=edtCidade.Text;
DM.ProcedureInsert.Parameters.ParamByName(@ufCliente).Value:=edtEstado.Text;
DM.ProcedureInsert.Parameters.ParamByName(@bairroCliente).Value:=edtBairro.Text;
DM.ProcedureInsert.Parameters.ParamByName(@cepCliente).Value:=edtCEP.Text;
DM.ProcedureInsert.Parameters.ParamByName(@foneCliente).Value:=edtTelefone.Text;
DM.ProcedureInsert.Parameters.ParamByName(@cgcCliente).Value:=edtCPFCNPJ.Text;
DM.ProcedureInsert.Parameters.ParamByName(@incricaoCliente).Value:=edtInscEstadual.Text;
DM.ProcedureInsert.Parameters.ParamByName(@emailCliente).Value:=edtEmail.Text;
DM.ProcedureInsert.ExecProc;
DM.ProcedureInsert.Close;
ShowMessage(Dados inseridos com sucesso!);
LimpaForm;
edtCPFCNPJ.SetFocus;
end;
end;
********************************************************************************************
GOSTEI 0
Deivison Melo
11/07/2012
Segue exemplo abaixo, na época que fiz esse sistema utilizei os componentes de acesso ADO.
********************************************************************************************
procedure TfrmCadastro.btnGravarClick(Sender: TObject);
var
campo: String[1];
begin
with DM.ProcedureInsert do
begin
DM.ProcedureInsert.Parameters.ParamByName(@codLoja).Value:=01; // Valor Padrão - Referente ao Número da Loja!!!!
DM.ProcedureInsert.Parameters.ParamByName(@nomeCliente).Value:=edtNome.Text;
DM.ProcedureInsert.Parameters.ParamByName(@tipo).Value:=F;
case cbTipoPessoa.ItemIndex of
0: campo := F; //Tipo Pessoal (F): Pessoa Fisíca!
1: campo := J; //Tipo Pessoal (J): Pessoa Jurídica!
end;
DM.ProcedureInsert.Parameters.ParamByName(@tipoPessoa).Value:=campo; //Recebe o valor da variável campo que informa a pessoa!!!
DM.ProcedureInsert.Parameters.ParamByName(@enderecoCliente).Value:=edtEndereco.Text;
DM.ProcedureInsert.Parameters.ParamByName(@municipioCliente).Value:=edtCidade.Text;
DM.ProcedureInsert.Parameters.ParamByName(@ufCliente).Value:=edtEstado.Text;
DM.ProcedureInsert.Parameters.ParamByName(@bairroCliente).Value:=edtBairro.Text;
DM.ProcedureInsert.Parameters.ParamByName(@cepCliente).Value:=edtCEP.Text;
DM.ProcedureInsert.Parameters.ParamByName(@foneCliente).Value:=edtTelefone.Text;
DM.ProcedureInsert.Parameters.ParamByName(@cgcCliente).Value:=edtCPFCNPJ.Text;
DM.ProcedureInsert.Parameters.ParamByName(@incricaoCliente).Value:=edtInscEstadual.Text;
DM.ProcedureInsert.Parameters.ParamByName(@emailCliente).Value:=edtEmail.Text;
DM.ProcedureInsert.ExecProc;
DM.ProcedureInsert.Close;
ShowMessage(Dados inseridos com sucesso!);
LimpaForm;
edtCPFCNPJ.SetFocus;
end;
end;
********************************************************************************************
********************************************************************************************
procedure TfrmCadastro.btnGravarClick(Sender: TObject);
var
campo: String[1];
begin
with DM.ProcedureInsert do
begin
DM.ProcedureInsert.Parameters.ParamByName(@codLoja).Value:=01; // Valor Padrão - Referente ao Número da Loja!!!!
DM.ProcedureInsert.Parameters.ParamByName(@nomeCliente).Value:=edtNome.Text;
DM.ProcedureInsert.Parameters.ParamByName(@tipo).Value:=F;
case cbTipoPessoa.ItemIndex of
0: campo := F; //Tipo Pessoal (F): Pessoa Fisíca!
1: campo := J; //Tipo Pessoal (J): Pessoa Jurídica!
end;
DM.ProcedureInsert.Parameters.ParamByName(@tipoPessoa).Value:=campo; //Recebe o valor da variável campo que informa a pessoa!!!
DM.ProcedureInsert.Parameters.ParamByName(@enderecoCliente).Value:=edtEndereco.Text;
DM.ProcedureInsert.Parameters.ParamByName(@municipioCliente).Value:=edtCidade.Text;
DM.ProcedureInsert.Parameters.ParamByName(@ufCliente).Value:=edtEstado.Text;
DM.ProcedureInsert.Parameters.ParamByName(@bairroCliente).Value:=edtBairro.Text;
DM.ProcedureInsert.Parameters.ParamByName(@cepCliente).Value:=edtCEP.Text;
DM.ProcedureInsert.Parameters.ParamByName(@foneCliente).Value:=edtTelefone.Text;
DM.ProcedureInsert.Parameters.ParamByName(@cgcCliente).Value:=edtCPFCNPJ.Text;
DM.ProcedureInsert.Parameters.ParamByName(@incricaoCliente).Value:=edtInscEstadual.Text;
DM.ProcedureInsert.Parameters.ParamByName(@emailCliente).Value:=edtEmail.Text;
DM.ProcedureInsert.ExecProc;
DM.ProcedureInsert.Close;
ShowMessage(Dados inseridos com sucesso!);
LimpaForm;
edtCPFCNPJ.SetFocus;
end;
end;
********************************************************************************************
GOSTEI 0