construir um select com parametros em tento de execução !
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
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
Curtidas 0
Respostas
Vinicius2k
21/09/2004
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 :
Espero ter ajudado...
T+
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+
GOSTEI 0
Hugofab
21/09/2004
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
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
GOSTEI 0
Vinicius2k
21/09/2004
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+
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+
GOSTEI 0