| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
Eliseup Novato


Registrado: Domingo, 25 de Março de 2007 Mensagens: 72
|
Enviada: Ter Mai 15, 2007 7:54 am Assunto: Erro em data especifica |
|
|
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 |
|
 |
Banaggia Membro Junior


Registrado: Sexta-Feira, 22 de Agosto de 2003 Mensagens: 342 Localização: SayGon - RJ
|
Enviada: Ter Mai 15, 2007 9:35 am Assunto: |
|
|
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 |
|
 |
Eliseup Novato


Registrado: Domingo, 25 de Março de 2007 Mensagens: 72
|
Enviada: Ter Mai 15, 2007 5:52 pm Assunto: |
|
|
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 |
|
 |
Banaggia Membro Junior


Registrado: Sexta-Feira, 22 de Agosto de 2003 Mensagens: 342 Localização: SayGon - RJ
|
Enviada: Ter Mai 15, 2007 5:57 pm Assunto: |
|
|
| 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 |
|
 |
Eliseup Novato


Registrado: Domingo, 25 de Março de 2007 Mensagens: 72
|
Enviada: Qua Mai 16, 2007 7:02 pm Assunto: |
|
|
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 |
|
 |
Eliseup Novato


Registrado: Domingo, 25 de Março de 2007 Mensagens: 72
|
Enviada: Qua Mai 16, 2007 9:59 pm Assunto: |
|
|
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 |
|
 |
Banaggia Membro Junior


Registrado: Sexta-Feira, 22 de Agosto de 2003 Mensagens: 342 Localização: SayGon - RJ
|
Enviada: Qui Mai 17, 2007 9:21 am Assunto: |
|
|
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 |
|
 |
|