Dificuldade em uma linha de comando no Delphi em um formulário de cadastro
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
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
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
José Soares
Curtidas 0
Melhor post
Emerson Nascimento
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;
GOSTEI 1
Mais Respostas
José Soares
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;
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
GOSTEI 0
Jonatas Alves
10/05/2019
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
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
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!
GOSTEI 0