Fórum Insert Into com Datas #278512

22/04/2005

0

Ola pessoal,


Estou criando uma funcao para fazer a atualizacao das tabelas de um programa para outro:

Estou usando dois TQuery, um faz a consulta na tabela do programa antigo e o outro faz a insercao dos dados no programa atual. So que nao estou conseguindo fazer a insercao em um cado do tipo Date

Ex.

Query 1
Select * From Pagamentos order by Vencimento

While not Qry1.Eof do
begin

With Qry2 do
begin
Active :=False
SQL.Clean;
SQL.ADD(´INSERT INTO Pagamentos (Codigo,Vencimento, Descricao, etc) VALUES´)
SQL.ADD(´´´+ Qry1.FieldByName(´Codigo´).AsString + ´´,´);
SQL.ADD(´´´+ Qry1.FieldByName(´Vencimento´).AsString + ´´,´); // ERRO TYPE MISMATCH EXPRESSION
SQL.ADD(´´´+ Qry1.FieldByName(´Descricao´).AsString + ´´,´);
Etc...
ExecSQL;

Qry1.Next;
end;


Quanto tendo inserir um campo do tipo Date aparece o seguinte erro
ERRO TYPE MISMATCH EXPRESSION

O que estou fazendo errado? Tem uma forma melhor de fazer estas atualizacoes?


Josimar

Josimar

Responder

Posts

22/04/2005

Rjun

Por que você não usa parâmetros em vez de enfiar tudo via código ?


Responder

Gostei + 0

22/04/2005

Arc@njo

Tente deste jeito:

SQL.Clean;
SQL.ADD(´INSERT INTO Pagamentos (Codigo,Vencimento, Descricao, etc) VALUES´)
SQL.ADD(QuotedStr(Qry1.FieldByName(´Codigo´).AsString)+´,´);
SQL.ADD(QuotedStr(FormatDateTime(´DD/MM/YYYY´,Qry1.FieldByName(´Vencimento´).AsDateTime))+´,´);
SQL.ADD(QuotedStr(Qry1.FieldByName(´Descricao´).AsString)+´,´);
Etc.

A Função QuotedStr ira colocar o campo entre aspas, e a Função FormatDateTime irá colocar a data no formato necessário, vale ai o teste se o formato aceito é DD/MM/YYYY ou MM/DD/YYYY, testa ai depois retorna.

Espero ter ajudado.


Responder

Gostei + 0

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

Aceitar