Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida No Insert


rjcerri

Pergunta

strsql:='insert into receitas(datavenda,codigo,descricao,variacao,quantidade,tiporeceita,medico)values';

strsql:='(select datavenda,codigo,descricao,variacao,quantidade,tiporeceita,medico from ":Copacabana:produtocx2.DB") where produtocx2.datavenda between :per1 and :per2 and produtocx2.codigo<>:nada';

Estou usando esse comando para incluir em uma tabela o conteudo de outra, mas da erro no select, aonde estou errando? ph34r.gif

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

ta um poco confunso... mas o que deu pra notar de cara é o seguinte....

srtsql é uma variavel ne?? se for tu não pode fazer o comando assim... porque quando tu passa a segunda linha pra ela ... ela mata a primeira então faz assim...

strsql:='insert into receitas(datavenda,codigo,descricao,variacao,quantidade,tiporeceita,medico)values';

strsql:= strsql + '(select datavenda,codigo,descricao,variacao,quantidade,tiporeceita,medico from ":Copacabana:produtocx2.DB") where produtocx2.datavenda between :per1 and :per2 and produtocx2.codigo<>:nada';

tenta isso ai... se der pau... cola o erro aqui ... com o erro fica mais facil de saber doq olhando o codigo.

PS:se tu tiver passando esse codigo via uma qry pra fazer esse insert faz o seguinte antes de dar o Open ou ExecSql da um SaveToFile... e ve como fico esse teu sql... qualquer coisa tamo ai!

Link para o comentário
Compartilhar em outros sites

  • 0

desculpe a bagunça, fiz assim agora, strsql é uma variavel mesma e o erro que da e esse

Invalid use of keyword

Token:select(datavenda,codigo,descricao,variacao,quantidade,tiporeceita,medico Line Number 1

strsql:='insert into receitas(datavenda,codigo,descricao,variacao,quantidade,tiporeceita,medico)values';

strsql:=strsql+' select(datavenda,codigo,descricao,variacao,quantidade,tiporeceita,medico from ":Copacabana:produtocx2.DB" where datavenda between :per1 and :per2 and codigo<>:nada and medico<>:nada)';

Link para o comentário
Compartilhar em outros sites

  • 0

é interbase?? se for... tenho quase certeza de que o problema é no insert com um select como você ta fazendo... eu uma vez fui fazer isso so q buscando o ultimo codigo (select max(codigo)+1) e não de... naquela vez eu resolvi criando variaveis pra receber esses valores tipo.. tu faz esse teu select separado e cria as variaveis ai depois do open tu passa os valores pra ela via FieldByName

dtvenda:=qry.FieldByName('datavenda').AsString // ou Value mesmo!

ai na hora de fazer o insert tu passa:

'insert into receitas(datavenda,codigo,descricao,variacao,quantidade,tiporeceita,medico)values (''+dtvenda+''' // e todos os outros valores!

tenta isso... se não der ou se não fui bem claro posta ai de novo! abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

agora q eu me liguei velho.. tu ta fazendo um inser com os proprios dados da tabela?!?! esses valores ali vem da onde?? se for de campos nem é preciso criar as variaveis... vai direto com o valor dos campos. Ex.:

with QRYDADOSRECEITA do
     begin
     Close;
     SQL.Clear;
     SQL.Add('insert into receitas(datavenda,codigo,descricao,variacao,quantidade,tiporeceita,medico) Velues(');
     SQL.Add(''+Edit1.Text+',');
     SQL.Add(''+Edit2.Text+',');
     SQL.Add(''+Edit3.Text+',');
     SQL.Add(''+Edit4.Text+',');
     SQL.Add(''+Edit5.Text+',');
     SQL.Add(''+Edit6.Text+'');
     ExecSQL;
     end;

Link para o comentário
Compartilhar em outros sites

  • 0

ta usando qry ne! faz assim

with qryReceita do
begin
close;
sql.clear;
sql.add('insert into receitas (datavenda,codigo,descricao,variacao,quantidade,tiporeceita,medico)values (');
sql.add(''+qryOUTRAdatavenda.AsString+'');
sql.add(''+ qryOUTRAcodigo.asstring +'');
sql.add(''+ qryOUTRAvariacao.asstring +'');
sql.add(')');
ExecSQL;
end;

e assim pra cada campo que você quiser inserir...

tenta ai! biggrin.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...