Dificuldade em uma linha de comando no Delphi em um formulßrio de cadastro

10/05/2019

11

Ola Pessoal estou tendo dificuldade em uma linha de comando no Delphi em um formulßrio de cadastro.

eu tenho um formulßrio de cadastro com vßrios campos para serem preenchido. no total de 19 campos que sŃo:
id
Nome
CPF
Sexo
Endereco
Numero
Complemento
Bairro
Cidade
UF
Cep
Telefone
Celular
Contato
Email
Data_Nasc
Cargo
Usuario
Senha

Porem ao inserir a linha de comando no botŃo de editar do formulßrio que Ú esta:
DM.QryConFuncionarios.Close;
DM.QryConFuncionarios.SQL.Clear;
DM.QryConFuncionarios.SQL.Add(''Update funcionarios set nome=:nome,cpf=:cpf,sexo=:sexo,endereco=:endereco,numero=:numero,complemento=:complemento,bairro=:bairro,cidade=:cidade,uf=:uf,cep=:cep,telefone=:telefone,celular=:celular,contato=:contato,email=:email,data_nasc=:data_nasc,cargo=:cargo,usuario=:usuario,senha=:senha where id=:id'');

Informa o seguinte erro: "String too long at line 588 (588:40)" Porque este erro? uma linha de comando no Delphi tem limite de caracteres
Responder

Post mais votado

10/05/2019

basta dividir a instrušŃo em mais linhas. fica mais fßcil atÚ para manutenš§es futuras:
DM.QryConFuncionarios.Close;
DM.QryConFuncionarios.SQL.Clear;
with DM.QryConFuncionarios.SQL do
begin
	Add('Update funcionarios set ');
	Add('nome=:nome,cpf=:cpf,sexo=:sexo,endereco=:endereco,numero=:numero,');
	Add('complemento=:complemento,bairro=:bairro,cidade=:cidade,uf=:uf,cep=:cep,');
	Add('telefone=:telefone,celular=:celular,contato=:contato,email=:email,');
	Add('data_nasc=:data_nasc,cargo=:cargo,usuario=:usuario,senha=:senha ');
	Add('where id=:id');
end;
Responder

Mais Posts

10/05/2019

JosÚ Soares

basta dividir a instrušŃo em mais linhas. fica mais fßcil atÚ para manutenš§es futuras:
DM.QryConFuncionarios.Close;
DM.QryConFuncionarios.SQL.Clear;
with DM.QryConFuncionarios.SQL do
begin
	Add(''Update funcionarios set '');
	Add(''nome=:nome,cpf=:cpf,sexo=:sexo,endereco=:endereco,numero=:numero,'');
	Add(''complemento=:complemento,bairro=:bairro,cidade=:cidade,uf=:uf,cep=:cep,'');
	Add(''telefone=:telefone,celular=:celular,contato=:contato,email=:email,'');
	Add(''data_nasc=:data_nasc,cargo=:cargo,usuario=:usuario,senha=:senha '');
	Add(''where id=:id'');
end;

Obrigado pela ajuda, fiz como explicado e deu certo, nŃo apareceu a mensagem de limite de string.

Tenho outras duvidas mas vou explicar detalhadamente neste mesmo formulßrio farei um relato completo explicando. caso poder me ajudar em explicar de como proceder fico muito grato com a ajuda. Obrigado
Responder

10/05/2019

Jonatas Alves

Ola Pessoal estou tendo dificuldade em uma linha de comando no Delphi em um formulßrio de cadastro.

eu tenho um formulßrio de cadastro com vßrios campos para serem preenchido. no total de 19 campos que sŃo:
id
Nome
CPF
Sexo
Endereco
Numero
Complemento
Bairro
Cidade
UF
Cep
Telefone
Celular
Contato
Email
Data_Nasc
Cargo
Usuario
Senha

Porem ao inserir a linha de comando no botŃo de editar do formulßrio que Ú esta:
DM.QryConFuncionarios.Close;
DM.QryConFuncionarios.SQL.Clear;
DM.QryConFuncionarios.SQL.Add(''Update funcionarios set nome=:nome,cpf=:cpf,sexo=:sexo,endereco=:endereco,numero=:numero,complemento=:complemento,bairro=:bairro,cidade=:cidade,uf=:uf,cep=:cep,telefone=:telefone,celular=:celular,contato=:contato,email=:email,data_nasc=:data_nasc,cargo=:cargo,usuario=:usuario,senha=:senha where id=:id'');

Informa o seguinte erro: "String too long at line 588 (588:40)" Porque este erro? uma linha de comando no Delphi tem limite de caracteres


Sim, em Delphi um string pode receber de uma sˇ vez atÚ 255 caracteres, ou seja, vocŕ nŃo precisa necessariamente quebrar a string em "substrings", vocŕ pode por exemplo fazer o seguinte:

procedure TfrmMain.Button1Click(Sender: TObject);
var
     nome: string ;
begin
     nome := 'asdfsakšfljašsdlkfjašlskdfjašlkdsjfalksdjlakdfšlasdj' ;
     nome := nome + 'kfšlkajskjškdfldsjdssasdfsakšfljašsdlkfjašlskdfjašlkdsjfalksdjlakdfšlasdjkfšlkajskjškdfldsjdssasdf' ;
     nome := nome + 'sakšfljašsdlkfjašlskdfjašlkdsjfalksdjlakdfšlasdjkfšlkajskjškdfldsjdssasdfsakšfljašsdlkfjašlskdfjašl' ;
     nome := nome + 'kdsjfalksdjlakdfšlasdjkfšlkajskjškdfldsjdssasdfsakšfljašsdlkfjašlskdfjašlkdsjfalksdjlakdfšlasdjkfšlkajskjš' ;
end;


ir seccionando a string, atÚ atingir o conte˙do desejado!

Boa sorte!
Responder

Utilizamos cookies para fornecer uma melhor experiŕncia para nossos usußrios. Para saber mais sobre o uso de cookies,
consulte nossa polÝtica de privacidade. Ao continuar navegando em nosso site, vocŕ concorda com a nossa polÝtica.

Aceitar