Uso delphi 2010, mysql e Zeos 7.0 alpha, e preciso cadastrar o usuário, porem ele pega o código do usuario que estou cadastrando e insere no campo nome e senha valor do codigo também

Delphi

06/08/2015

na hora que consulta no banco de dados os registro aparece assim:

codigo: 5, nome: 5, senha:5

ZQusuario.Active:=false;
ZQusuario.Close;
ZQusuario.SQL.Clear;
ZQusuario.SQL.Add('insert into login values(:codigo,:nome,:senha)');
ZQusuario.ParamByName('codigo').AsInteger:=strtoint(EDTcodigo.Text);
ZQusuario.ParamByName('nome').AsString:=EDTnome.Text;
ZQusuario.ParamByName('senha').AsString:=EDTsenha.Text;
ZQusuario.ExecSQL;

alguém pode me ajudar.
Neilson

Neilson

Curtidas 0

Respostas

Mateus Ribeiro

Mateus Ribeiro

06/08/2015

Boa tarde!

Os campos no banco de dados, possuem as informações corretas? Verifica se sem querer vc não cadastrou todos os campos com o valor 5 lá...
GOSTEI 0
Neilson

Neilson

06/08/2015

Então Mateus, a tabela foi criada dessa seguinte maneira:

create table usuario(

codigo integer not null primary key,
nome varchar(50) not null,
senha varchar(50) not null);

essa tabela só tem um registro, que no caso seria "codigo:1, nome:admin, senha:123" para abrir o sistema, até tudo funciona perfeitamente, quando executo o sistema e vou na tela de cadastro usuário, na hora de cadastrar executo essa sql:

ZQusuario.Active:=false;
ZQusuario.Close;
ZQusuario.SQL.Clear;
ZQusuario.SQL.Add('insert into login values(:codigo,:nome,:senha)');
ZQusuario.ParamByName('codigo').AsInteger:=strtoint(EDTcodigo.Text);
ZQusuario.ParamByName('nome').AsString:=EDTnome.Text;
ZQusuario.ParamByName('senha').AsString:=EDTsenha.Text;
ZQusuario.ExecSQL;

até ai tudo funciona, na hora que vou olhar no banco para se foi que aquilo mesmo que eu pedir para cadastrar ai aparece assim:
[img]http://arquivo.devmedia.com.br/forum/imagem/446352-20150806-151825.png[/img]
GOSTEI 0
Mateus Ribeiro

Mateus Ribeiro

06/08/2015

Huum, eu te aconselho a fazer o seguinte...


Faz um select geral no componente ZQusuario e deixa ele fixo lá:
SELECT * FROM LOGIN


Depois, com o botão direito no ZQusuario, vai em FIELDS EDITOR... Depois botão direito novamente e clica em ADD ALL FIELDS pra adicionar todos os campos dessa tabela.

Agora pra salvar fica mais fácil

ZQusuario.Insert;
ZQusuarioLOGIN.Value:= EDTLogin.Text;
ZQusuarioNOME.Value:= EDTNome.Text;
ZQusuarioSENHA.Value:= EDTSenha.Text;
ZQusuario.Post;
ZQusuario.ApplyUpdates;


Espero que ajude!
GOSTEI 0
Neilson

Neilson

06/08/2015

Muito obrigado Mateus Ferreira, deu certo aqui, valeu mesma pela ajuda.
GOSTEI 0
POSTAR