ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Consulta com paramentro usando o DBEXPRESS

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
kcba
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 17 de Novembro de 2010
Mensagens: 116

MensagemEnviada: Seg Fev 07, 2011 2:53 pm    Assunto: Consulta com paramentro usando o DBEXPRESS Responder com Citação

Tenho uma consulta que funcionava quando eu estava usando o ACCESS, agora estou migrando para o firebird e está dando o erro: unknown ISC erro 0.
Pelo que vi em pesquisas na net, isso significa que ñ está conseguindo acessar a tabela.
No data module eu tenho :
Sqlquery (Propriedades)
SQL -> SELEECT * FROM telemedicina
Params -> dta_ini e dta_fim, e em seu DataType : ftDateTime

DataSource
DataSetProvider
ClienteDataSet

O Código da consulta é :
Código:

begin
   DTP_data_fim.DateTime:=Now;

   DM.QRY_telemedicina.Close;
   DM.QRY_telemedicina.SQL.Clear;
   DM.QRY_telemedicina.SQL.Add('SELECT  t.* FROM telemedicina t');
   DM.QRY_telemedicina.SQL.Add('WHERE EXISTS(SELECT COUNT(*), x.assunto FROM telemedicina x');
   DM.QRY_telemedicina.SQL.Add('where x.assunto = t.assunto');

   DM.QRY_telemedicina.SQL.Add('AND data BETWEEN :_dta_ini and :_dta_fim');

   DM.QRY_telemedicina.SQL.Add('GROUP BY x.assunto');
   DM.QRY_telemedicina.SQL.Add('HAVING COUNT(*) > 1 )');
   DM.QRY_telemedicina.SQL.Add('ORDER BY assunto,data');

   DM.QRY_telemedicina.Params.ParamByName('_dta_ini').Value := dtp_Data_ini.DateTime;
   DM.QRY_telemedicina.Params.ParamByName('_dta_fim').Value := dtp_Data_fim.DateTime;

   DM.QRY_telemedicina.Open;

end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rafmattos
Colaborador
Colaborador


Registrado: Quinta-Feira, 11 de Fevereiro de 2010
Mensagens: 3416
Localização: Campo Grande/MS

MensagemEnviada: Seg Fev 07, 2011 2:57 pm    Assunto: Responder com Citação

tenta assim com o asDate:

Código:

DM.QRY_telemedicina.Params.ParamByName('_dta_ini').asDate := dtp_Data_ini.DateTime;
   DM.QRY_telemedicina.Params.ParamByName('_dta_fim').asDate := dtp_Data_fim.DateTime;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
kcba
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 17 de Novembro de 2010
Mensagens: 116

MensagemEnviada: Ter Fev 08, 2011 12:20 pm    Assunto: Responder com Citação

Oh, assim que eu crio o paramentro no DM que faço a compilação da erro.
Estou usando o componete
TSQLQuery da paleta DBEXPRESS (onde crio o parametro dentro de params)
DataSource
DataSetProvider
ClienteDataSet.

Quando vai entrar no sistema, dá o erro:
unknown ISC erro 0.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
kcba
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 17 de Novembro de 2010
Mensagens: 116

MensagemEnviada: Qua Fev 09, 2011 10:33 am    Assunto: Responder com Citação

Fiz o seguinte:
No DM.TsqlQuery na propriedade params, coloquei em DataType como ftDate.

Na consulta:
Código:

DM.qry_telemedicina.Params.ParamByName('_dta_ini').AsString := FormatDateTime('MM/DD/YYYY', dtp_Data_ini.Date);
   DM.qry_telemedicina.Params.ParamByName('_dta_fim').AsString := FormatDateTime('MM/DD/YYYY', dtp_Data_fim.Date);


Agora ñ dá mais erro.

Tópico Resolvido
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB