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 

comando Inert Into Query

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
sevensystemjundiai
Novato
Novato


Registrado: Quarta-Feira, 19 de Abril de 2017
Mensagens: 24
Localização: jundiai-sp

MensagemEnviada: Qui Abr 15, 2021 9:14 pm    Assunto: comando Inert Into Query Responder com Citação

boa noite a todos, gostaria que alguem pudesse me ajudar a entender onde esta me erro, eu estou tentando fazer uma rotina de insert para varios campos com quebra de linha, pois como sei que minha tabela tem +- 120 campos precise saber como fazer pois esta dando erro: segue como estou fazendo

Qr_Atualiza.close;
Qr_Atualiza.sql.clear;
Qr_Atualiza.sql.Text := 'INSERT INTO PRODUTO (COD_BARRAS, COD_REF,'+
'DESCRICAO) VALUES ('+QuotedStr(ed_produto.Text)+','+
+QuotedStr(ed_referencia.Text)+','+QuotedStr(ed_descricao.Text)+')';
Qr_Atualiza.ExecSQL(true);}
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Abr 16, 2021 9:17 am    Assunto: Responder com Citação

Bom dia,

Acho que esse erro pode estar ocorrendo porque pelo seu exemplo você está concatenando o comando inteiro em uma única string e como a quantidade de campos é grande, essa string deve estar ficando muito grande.
Experimente fazer uns testes utilizando o método Add para adicionar o comando em linhas separadas. Ex:

Código:
Qr_Atualiza.sql.clear;
Qr_Atualiza.sql.Add('INSERT INTO PRODUTO');
Qr_Atualiza.sql.add('(COD_BARRAS, COD_REF, DESCRICAO)');
Qr_Atualiza.sql.add('VALUES (:COD_BARRAS, :COD_REF, :DESCRICAO)');
Qr_Atualiza.ParamByName('COD_BARRAS').AsString := ed_produto.Text;
Qr_Atualiza.ParamByName('COD_REF').AsString := ed_referencia.Text;
Qr_Atualiza.ParamByName('DESCRICAO').AsString := ed_descricao.Text);
Qr_Atualiza.ExecSQL;


No exemplo acima também adicionei parâmetros no comando, pois acho que dessa forma fica mais fácil de passar os valores, dispensando a necessidade de acrescentar aspas e a conversão dos valores numéricos e datas em formatos específicos conforme o banco de dados utilizado.

Espero que ajude


Editado pela última vez por imex em Qui Set 16, 2021 9:11 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9098
Localização: Sinop-MT

MensagemEnviada: Sex Abr 16, 2021 9:23 am    Assunto: Responder com Citação

e qual o erro?
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
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 -> Banco de Dados 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