Fórum Delphi com Mysql ERRO #410476
13/12/2011
0
begin
With ZQuery1 do
begin
Button1.Enabled:=False;
SQL.Clear;
SQL.Text:= SELECT login,senha FROM usuarios WHERE login=+ Edit1.Text + AND senha=+ Edit2.Text + ;
Open;
If ZQuery1.IsEmpty then
begin
ShowMessage(Senha errada!);
Edit2.Text:=;
Edit2.SetFocus;
Button1.Enabled:=True;
end else
begin
SQL.Clear;
SQL.Text:= SELECT login,senha,credito FROM usuarios WHERE login=+ Edit1.Text + AND senha=+ Edit2.Text + AND credito>0 ;
Open;
If ZQuery1.IsEmpty then
begin
ShowMessage(Sem creditos);
Form1.Close;
end else
begin
SQL.Clear;
SQL.Text:=UPDATE usuarios SET creditos=creditos-1 WHERE login=+Edit1.Text+;
Open;
Showmessage(Login efeutado com sucesso!);
end;
end;
end;
end;
Componente: Zeos
Delphi 7
Alguem poderia me dizer porque esse erro esta dando:
Can not open a Resultset.
Ele desconta 1 credito no banco de dados se o login tiver creditos e existir, mais não mostra a mensagem de Login efetuado com sucesso.
Richard Alexander
Curtir tópico
+ 0Posts
13/12/2011
Jeferson Zonta
Att.
Gostei + 0
13/12/2011
César
begin SQL.Clear; SQL.Text:=UPDATE usuarios SET creditos=creditos-1 WHERE login=+QuotedStr(Edit1.Text); //Open; ExecSql; Showmessage(Login efeutado com sucesso!); end;
Abraços
Gostei + 0
13/12/2011
Richard Alexander
Era isso mesmo, o comando OPEN; não funcionava, agora já entendi por que:
Meu raciocinio:
Open : Busca
ExecSql : Alteração
Mais tambem não deixei de colocar o Close; que o amigo Jeferson Zonta citou, obrigado a todos.
Gostei + 0
13/12/2011
Richard Alexander
Gostei + 0
13/12/2011
Jonathan Campos
With ZQuery1 do begin Button1.Enabled:=False; SQL.Clear; SQL.Text:= SELECT login,senha FROM usuarios WHERE login=+ Edit1.Text + AND senha=+ Edit2.Text + ; Open; If ZQuery1.IsEmpty then begin ShowMessage(Senha errada!); Edit2.Text:=; Edit2.SetFocus; Button1.Enabled:=True; end else begin SQL.Clear; SQL.Text:= SELECT login,senha,credito FROM usuarios WHERE login=+ Edit1.Text + AND senha=+ Edit2.Text + AND credito>0 ; Open; If ZQuery1.IsEmpty then begin ShowMessage(Sem creditos); Form1.Close; end else begin SQL.Clear; SQL.Text:=UPDATE usuarios SET creditos=creditos-1 WHERE login=+Edit1.Text+; Open; Showmessage(Login efeutado com sucesso!); end; end; end; end; label1.Caption:= ZQuery1.FieldByName(CREDITO).AsString;
Gostei + 0
14/12/2011
Richard Alexander
ZQuery1: Field 0 not found.
Criei uma variavel chamada data do tipo integer o codigo ta assim:
label2.Caption:= ZQuery1.FieldByName(IntToStr(data)).AsString;
Gostei + 0
14/12/2011
Richard Alexander
ZQuery1: Field 0 not found.
Criei uma variavel chamada data do tipo integer o codigo ta assim:
label1.Caption:= ZQuery1.FieldByName(IntToStr(CREDITOS)).AsString;
Gostei + 0
14/12/2011
Jonathan Campos
ZQuery1: Field 0 not found.
Criei uma variavel chamada data do tipo integer o codigo ta assim:
label1.Caption:= ZQuery1.FieldByName(IntToStr(CREDITOS)).AsString;
O campo em ZQuery1.FieldByName(CAMPO).AsString; deve ser o mesmo que vc está trazendo da sua base de dados portanto se o nome do campo no seu banco de dados for CAMPO1 ficará ZQuery1.FieldByName(CAMPO1).AsString; .
Gostei + 0
14/12/2011
Richard Alexander
Close;
SQL.Clear;
SQL.Text:=UPDATE usuarios SET creditos=creditos-1 WHERE login=+Edit1.Text+;
ExecSQL;
label2.Caption:= FieldByName(CREDITOS).AsString;
Mais da um erro ao executar o programa, uso o Zeos:
ZQuery1: Field 0 not found.
E tem outra, como faço pra o componente não mostrar os erros? Porque uma vez eu troquei a senha do banco de dados e no erro saiu assim:
Não foi possivel conectar-se á MEU_NOME_DE_USUARIO por tal motivo.
É realmente triste ):
Gostei + 0
15/12/2011
Wilson Junior
Agradeço pela compreenssão de todos.
Obrigado.
Gostei + 0
15/12/2011
Richard Alexander
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)