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

Comando Muito Grande Por Isso Da Erro


Guest se voce esta contente bata palma

Pergunta

Guest se voce esta contente bata palma

oi pessoal eu tenho um probleminha porque esta gerando um erro pois o delphi 7

diz que esta linha esta muito grande mas pra minha infelicidade eu aqui nesta linha

so coloquei a metade da informaçao, assim sendo alguém poderia me dar um toque

de como inserir todos esses dados oa mesmo tempo, então ai tem o comando em Sql

pra inserir na tabela tab_identificacao, e tem os values eu dei um espaço aqui neste texto

para ficar mas legivel espero que vocês entendam!

LOGICO SO QUERO SABER COMO QUEBRAR A LINHA E INSERIR, não QUERO SABER DAKELAS RESPOSTA AI VOCE não

DECLAROU A VARIAVEL, não EU DECLAREI SO não COLEI AQUI, SO PRA TIRAR A SUA DUVIDA A ESSE RESPEITO!

DESDE já MUITO OBRIGADO E FIQUEM TODOS COM DEUS!

===========================================================================

modulo.Gravar_idPessoal.Close;

//=============================================

//Comando Sql de inserir nesta tabela com seu campos

//=============================================

modulo.Gravar_idPessoal.SQL.Add('insert into tab_identificacao

(cod_moradia,area,quadra,lote,endereco,numero,compl,cep,bairro,ponto_ref,tel,cel,tel_rec,

um_resp,um_apelido,um_pai,um_mae,um_pais,um_cidade,um_uf,um_tempo_SV,um_tempo_atual,

um_tempo_bairro,um_pis,um_cert_nasc,um_cart_trab,um_cert_casam,um_rg,um_dta_emis,um_org_emis,um_cpf)

//=========================================================================

//Os valores a serem passado, obvio este comentario não esta no meu codigo no delphi so pra ficar mas ilustrado

//=========================================================================

values

("'+nm_cad+'","'+nm_area+'","'+nm_quadra+'","'+nm_lote+'","'+ed_endereco.Text+'","'+ed_numero.Text+'","'

+ed_complem.Text+'","'+ed_cep.Text+'","'+ed_bairro.Text+'","'+ed_ponto_ref.Text+'","'+ed_telefone.Text+'","'

+ed_celular.Text+'","'+ed_recado.Text+'","'+ed_resp1.Text+'","'+ed_apelido1.Text+'","'+ed_pai1.Text+'","'

+ed_mae1.Text+'","'+ed_pais_nasc1.Text+'","'+ed_municipio1.Text+'","'+cd_uf1+'","'+temposv1+'","'+tempoAtual1+'","'

+tempobairro1+'","'+nm_pis1+'","'+nm_cert1+'","'+nm_cart1+'","'+nm_casamento1+'","'+ed_rg1.Text+'","'

+mk_dtemissao1.Text+'","'+ed_orgao1.Text+'","'+ed_cpf1.Text+'")');

modulo.Gravar_idPessoal.ExecSQL;

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Que tal usar uma variável para guardar o sql?

... var sql: String; 
===========================================================================
modulo.Gravar_idPessoal.Close;
//=============================================
//Comando Sql de inserir nesta tabela com seu campos
//=============================================
sql := '';
sql := 'insert into tab_identificacao (cod_moradia,area,quadra,lote,endereco,numero,compl,cep,bairro,ponto_ref,tel,cel';
sql := sql + ',tel_rec,um_resp,um_apelido,um_pai,um_mae,um_pais,um_cidade,um_uf,um_tempo_SV,um';
sql := sql + '_tempo_atual,um_tempo_bairro,um_pis,um_cert_nasc,um_cart_trab,um_cert_casam,um_r';
// ...  continua por aí a baixo. Depois de teres a string com aquilo que queres .... é só fazer o resto. Se necessitas de inserir valores do tipo String, usa o QuotedStr do Delphi.
modulo.Gravar_idPessoal.SQL.Add(sql);
modulo.Gravar_idPessoal.ExecSQL;

Abraço.

JPedro

Link para o comentário
Compartilhar em outros sites

  • 0

"se voce esta contente bata palma" (interessante nick...) :huh:

bom, a sugestão é que você faça uso o método Add da propriedade SQL (é um TStrings) associado a passagem por parâmetros. Apesar de extenso, seu código ficará mais legível e elegante. Além disso, para minimizar a digitação, faça uso de with ... do:

...
  with modulo.Gravar_idPessoal do
  begin
    Close;
    SQL.Add('insert into tab_identificacao');
    SQL.Add('(cod_moradia,area,quadra,lote,endereco,numero,compl,cep,');
    SQL.Add( 'bairro,ponto_ref,tel,cel,tel_rec,um_resp,um_apelido,um_pai,');
    SQL.Add( 'um_mae,um_pais,um_cidade,um_uf,um_tempo_SV,um_tempo_atual,');
    SQL.Add( 'um_tempo_bairro,um_pis,um_cert_nasc,um_cart_trab,um_cert_casam,');
    SQL.Add( 'um_rg,um_dta_emis,um_org_emis,um_cpf)');

    SQL.Add('values(:cod_moradia,:area,quadra,:lote,:endereco,:numero,:compl,:cep,');
    SQL.Add(       ':bairro,:ponto_ref,:tel,:cel,:tel_rec,:um_resp,:um_apelido,:um_pai,');
    SQL.Add(       ':um_mae,:um_pais,:um_cidade,:um_uf,:um_tempo_SV,:um_tempo_atual,');
    SQL.Add(       ':um_tempo_bairro,:um_pis,:um_cert_nasc,:um_cart_trab,:um_cert_casam,');
    SQL.Add(       ':um_rg,:um_dta_emis,:um_org_emis,:um_cpf)');

    ParamByName('cod_moradia').AsString := nm_cad;
    ParamByName('area').AsString := nm_area;
    ParamByName('quadra').AsString := nm_quadra;
    ParamByName('lote').AsString := nm_lote;
    ParamByName('endereco').AsString := ed_endereco.Text;
    ParamByName('numero').AsString := ed_numero.Text;
    ParamByName('compl').AsString := ed_complem.Text;
    ParamByName('cep').AsString := ed_cep.Text;
      :
      :
    ParamByName('um_rg').AsString := ed_rg1.Text;
    ParamByName('um_dta_emis').AsString := mk_dtemissao1.Text;
    ParamByName('um_org_emis').AsString := ed_orgao1.Text;
    ParamByName('um_cpf').AsString := ed_cpf1.Text;

    ExecSQL;
  end;
  ...
end;

Na verdade, se você utiliza este TQuery (Gravar_idPessoal) apenas para esta finalidade, não teria porquê adicionar as linhas da instrução "insert ... values" no código do seu programa. Utilizando a forma como expus acima (parametrização) basta que você coloque dentro da propriedade SQL (em design-time - clicando no quadrinho com "...") toda a instrução "insert ... values" e no código você teria apenas a parte da passagem de parâmetros (os ParamByName) - ficaria muito mais enxuto, não acha?!

E simplificando mais ainda, eu perguntaria por que você não utiliza os componentes Dataware (como o TDBEdit) - não teria todo este trabalho. :blink:

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Se voce esta contente bata palma

BOM em primeiro lugar eu queria agradeçer pela ajuda de vocês dois e em segundo eu não tão experiente neste linguagem como vocês dois por isso eu não sei usar alguns componentes, dai vou ter que buscar algumas informaççoes aqui com meus dois novos colegas de forum, logicamente senao for lhes incomodar, assim eu estou usanso Adoquery porque o professor no curso que pediu, mas vocês tiverem soluções mas simples estarem sempre aberto a novas ideias e conhecimentos desde já muitissimo obrigado por esses novos conhecimentos e fiquem todos com Deus!

Link para o comentário
Compartilhar em outros sites

  • 0
(...), dai vou ter que buscar algumas informaççoes aqui com meus dois novos colegas de forum, logicamente senao for lhes incomodar,(...)
Seja bem vindo.

Gostaria, então, de convidâ-lo a registrar-se no forum, para os próximos contatos (de preferência, com um nick curto :D) - segue o Formulário de Registro

(...) assim eu estou usanso Adoquery porque o professor no curso que pediu, mas vocês tiverem soluções mas simples estarem sempre aberto a novas ideias e conhecimentos desde já muitissimo obrigado por esses novos conhecimentos e fiquem todos com Deus!
Não há problemas em continuar com ADO, já que está seguindo a orientação de seu professor. A paleta ADO tem os componentes para acesso ao banco, a questão colocada anteriormente por mim, diz respeito a forma de entrada de dados: trocar os TEdit's (paleta Standard) por TDBEdit's (paleta Data Controls).

Sugiro que você dê uma olhada de apostilas (tem um link aqui no forum). Dê uma olhada também no tópico Tutoriais & Dicas, pode ser que você ache algo que lhe ajude. A questão de existirem diferentes componentes de acesso ao banco (BDE, ADO, ...) não deve ser entendido como um problema, porque os conceitos utilizados na aplicação deles é basicamente o mesmo: viabilizar a Incluisão, Alteração, Excluisão e Visualização dos dados em um banco. Das particularidades, você vai tirando as dúvidas aos poucos.

Abraços

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...