Sign in to follow this  
Guest se voce esta contente bata palma

Comando Muito Grande Por Isso Da Erro

Recommended Posts

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;

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

"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

Share this post


Link to post
Share on other sites
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!

Share this post


Link to post
Share on other sites
(...), 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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this