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 

Erro em data especifica

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


Registrado: Domingo, 25 de Março de 2007
Mensagens: 72

MensagemEnviada: Ter Mai 15, 2007 7:54 am    Assunto: Erro em data especifica Responder com Citação

bom dia a todos.
olhem esta procedure simples.

procedure TF_Rtl_ParcR.BitBtn1Click(Sender: TObject);
var
dt:string;
begin
dt:=datetostr(datai.Date);
Q_rtl_parcr.Close;
Q_rtl_parcr.SQL.Clear;
Q_rtl_parcr.SQL.Add('select * from data_par');
Q_rtl_parcr.Sql.Add('WHERE Dataparc LIKE "%'+dt+'%"');
Q_rtl_parcr.Open;
end;

ela da o seguinte erro quando clico no botão.

[Microssoft][ODBC SQL Server diver][SQL Server] Invalid column name '%23/3/2007%'

uso delphi7 BD SQL Server.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Banaggia
Membro Junior
Membro Junior


Registrado: Sexta-Feira, 22 de Agosto de 2003
Mensagens: 342
Localização: SayGon - RJ

MensagemEnviada: Ter Mai 15, 2007 9:35 am    Assunto: Responder com Citação

Veio, eu nunca utilizei 'LIKE' para procurar uma data, voce pode fazer, derrepente assim:

Código:

procedure TF_Rtl_ParcR.BitBtn1Click(Sender: TObject);
var
dt:string;
begin
dt:=datetostr(datai.Date);
Q_rtl_parcr.Close;
Q_rtl_parcr.SQL.Clear;
Q_rtl_parcr.SQL.Add('select * from data_par');
//Aqui procura por um intervalo, voce pode colocar dt para data Inicial
// e um dtfinal para a data final.
Q_rtl_parcr.Sql.Add('WHERE  Dataparc between '''+dt+''' and '''+dt''' ');
Q_rtl_parcr.Open;
end;


Código:

procedure TF_Rtl_ParcR.BitBtn1Click(Sender: TObject);
var
dt:string;
begin
dt:=datetostr(datai.Date);
Q_rtl_parcr.Close;
Q_rtl_parcr.SQL.Clear;
Q_rtl_parcr.SQL.Add('select * from data_par');
Q_rtl_parcr.Sql.Add('WHERE  Dataparc = '''+dt+1'''  ');
Q_rtl_parcr.Open;
end;

[/b]
_________________
[]'s,
Marco Banaggia

SEMPRE COLOQUE [RESOLVIDO] NO SEU POST
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Eliseup
Novato
Novato


Registrado: Domingo, 25 de Março de 2007
Mensagens: 72

MensagemEnviada: Ter Mai 15, 2007 5:52 pm    Assunto: Responder com Citação

tentei com o exemplo
Q_rtl_parcr.Sql.Add('WHERE Dataparc = '''+dt+1''' ');
mas ta dando o seguinte erro na compilação.

Missing Operator or semicolon.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Banaggia
Membro Junior
Membro Junior


Registrado: Sexta-Feira, 22 de Agosto de 2003
Mensagens: 342
Localização: SayGon - RJ

MensagemEnviada: Ter Mai 15, 2007 5:57 pm    Assunto: Responder com Citação

Eliseup escreveu:
tentei com o exemplo
Q_rtl_parcr.Sql.Add('WHERE Dataparc = '''+dt+1''' ');
mas ta dando o seguinte erro na compilação.

Missing Operator or semicolon.


Veio desculpa ae! esqueci de lhe falar que voce vai ter que formatar a data

Tipo assim:
Código:

procedure TF_Rtl_ParcR.BitBtn1Click(Sender: TObject);
var
dt:string;
begin
dt:=FormatDateTime('yyyymmdd',datai.Date);
Q_rtl_parcr.Close;
Q_rtl_parcr.SQL.Clear;
Q_rtl_parcr.SQL.Add('select * from data_par');
Q_rtl_parcr.Sql.Add('WHERE  Dataparc = '''+dt+'''  '); //Esquece o "1" que estva aqui foi erro de digitação :(
Q_rtl_parcr.Open;
end;



Tenta ae, qq coisa e só postar novamente...
_________________
[]'s,
Marco Banaggia

SEMPRE COLOQUE [RESOLVIDO] NO SEU POST
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Eliseup
Novato
Novato


Registrado: Domingo, 25 de Março de 2007
Mensagens: 72

MensagemEnviada: Qua Mai 16, 2007 7:02 pm    Assunto: Responder com Citação

obrigado pela ajuda, deu tudo certo.

agora de uma olhadinha nisto

var
dt1,dt2:string;
begin
dt1:=FormatDateTime('yyyymmdd',datai.Date);
dt2:=FormatDateTime('yyyymmdd',dataf.Date);
Q_rtl_parcr.Close;
Q_rtl_parcr.SQL.Clear;
Q_rtl_parcr.SQL.Add('select * from data_par');
Q_rtl_parcr.Sql.Add('WHERE Dataparc between '''+dt1+''' and '''+dt2+''' ');
Q_rtl_parcr.SQL.Add('join Cliente on (data_par.Cod_pct=Cliente.registro');
Q_rtl_parcr.Open;
end;


da o seginte erro.
[Microsoft][ODBC SQL Server Driver][SQLServer] Incorrect syntax near the keyword 'join'
piorou de vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Eliseup
Novato
Novato


Registrado: Domingo, 25 de Março de 2007
Mensagens: 72

MensagemEnviada: Qua Mai 16, 2007 9:59 pm    Assunto: Responder com Citação

me desculpe mas ja resolvi o problema.
foi sou um ) que esqueci de fechar e alterei uma coisinha e ficou assim

var
dt1,dt2:string;
begin
dt1:=FormatDateTime('yyyymmdd',datai.Date);
dt2:=FormatDateTime('yyyymmdd',dataf.Date);
Q_rtl_parcr.Close;
Q_rtl_parcr.SQL.Clear;
Q_rtl_parcr.SQL.Add('select * from data_par join Cliente on (data_par.Cod_pct=Cliente.registro)');
Q_rtl_parcr.Sql.Add('WHERE Dataparc between '''+dt1+''' and '''+dt2+''' ');
Q_rtl_parcr.Open;

obrigado pela ajuda mais uma vez.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Banaggia
Membro Junior
Membro Junior


Registrado: Sexta-Feira, 22 de Agosto de 2003
Mensagens: 342
Localização: SayGon - RJ

MensagemEnviada: Qui Mai 17, 2007 9:21 am    Assunto: Responder com Citação

Tranquilo, mais só recebi a notificação do post da ultima coisa que voce colocou, mais que bom que voce acertou... qq coisa e só postar...

[]'s
_________________
[]'s,
Marco Banaggia

SEMPRE COLOQUE [RESOLVIDO] NO SEU POST
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
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