construir um select com parametros em tento de execução !

21/09/2004

0

Ola,


Estou iniciando no Dbexpress, migrando de query para Sqldataset
estou usando este comando para montar minha consulta mas não esta funcionando .

ClientDataSet1.Close;
SQLDataSet1.CommandText:=´Select * from ´Empresa´ where Cnpj_CPF= :Cnpj_CPF´;
sqldataset1.Params.ParamByName(´Cnpj_CPF´).AsString:=edt_cpf_cnpj.Text;
clientdataset1.Open;

oque esta errado ?
tenho que configurar alguma coisa no componete ?
veja o erro:
DBX erro: No Mapping for Error Code Found.

Se algum puder me ajudar agradeço

Hugo Fabrício


Hugofab

Hugofab

Responder

Posts

21/09/2004

Vinicius2k

Colega,

Esta pode não ser a solução, porque o próprio DBX não encontrou um código de erro adequado ao que foi retornado pelo banco, mas à princípio é o que parece-me estar incorreto :

1. Retire as aspas dos nomes dos objetos da instrução ( a não ser q na criação vc tenha utilizado as aspas ).

2. REGRA (dbExpress): todos os nomes de objetos do banco de dados precisam estar em maiúsculas

3. Visualmente, prefira utilizar as instruções e nomes de parametros em minúsculas contrastando com os objetos em maiúsculas a fim de facilitar a leitura.

Creio que o código correto seria este :
ClientDataSet1.Close;
SQLDataSet1.CommandText:= ´select * from EMPRESA where CNPJ_CPF = :cnpj_cpf´;
SQLDataSet1.ParamByName(´cnpj_cpf´).AsString:= edt_cpf_cnpj.Text;
ClientDataSet1.Open; 


Espero ter ajudado...
T+


Responder

21/09/2004

Hugofab

Vinicius2k

Consegui fazer funcionar mas ficou assim :

SQLDataSet1.Active := false;
ClientDataSet1.Active := false;
SQLDataSet1.CommandText:= ´select * from ´Empresa´ where ´Cnpj_CPF´ = :cnpj_cpf´ ;
SQLDataSet1.ParamByName(´cnpj_cpf´).AsString:= edt_cpf_cnpj.Text;
ClientDataSet1.Active := true;
sqldataset1.Active := true;

Achei muito estranho é que tive que colocar “´ entre os campos para poder funcionar. O meu banco de dados foi gerando pelo Interbase DataPump e nele tive que marcar a opção para usar ´ ´ provavelmente foi por este motivo ! mas é assim mesmo.
É apanhando que se aprende !

Muito obrigado!

Hugo Fabrício


Responder

21/09/2004

Vinicius2k

Hugo,

Então está explicado... pessoalmente eu não uso as aspas, mas já q o software utiizado para migração o forçou a utilizar, vc não vai poder fugir disto... em toda e qualquer instrução sua os objetos do banco (Tabelas e Colunas, Views, Triggers, SPs, etc) terão se ser referenciados entre aspas...

Minha sugestão é que vc mantenha o padrão para os novos objetos que vc criar, para que vc não se confunda com ´hora usa aspas, hora não usa...´

T+


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar