erro ao consultar

Delphi

13/07/2016

Vi alguns posts com essa mesma dúvida, mas nao consegui consertar meu código.
Dando erro "DATASET NOT IN EDIT OR INSERT MODE".
Onde ponho esse edit ou insert? Tenho que usar mesmo apenas fazendo consulta na tabela?
PF alguem me ajude.

procedure Tf_login.BitBtn1Click(Sender: TObject);
begin

 dmdados.query_login.Close;
 dmdados.query_login.ClearFields;


 dmdados.query_login.SQL.Text:='select login,senha from usuarios where login=' +
 quotedstr(edtLogin.Text)+ 'and senha='+ quotedstr(edtSenha.Text);
 dmdados.query_login.open;

 if dmdados.query_login.IsEmpty then
  begin
      showmessage('Acesso negado!');
     dmdados.query_login.Close;
     edtLogin.Clear;
     edtsenha.Clear;
  end
   else
    begin
        f_principal.Show;
        close;
    end;
 end;
Ivo Nascimento

Ivo Nascimento

Curtidas 0

Respostas

Raimundo Pereira

Raimundo Pereira

13/07/2016

Bom dia, seu objetivo é apenas consulta, não usará nem edit sem insert.


dmdados.query_login.Close;


dmdados.query_login.SQL.Text:=''select login,senha from usuarios where login='''''' +
quotedstr(edtLogin.Text)+ ''''''''and senha=''''''+ quotedstr(edtSenha.Text)+'''''''';

dmdados.query_login.open;

if dmdados.query_login.IsEmpty then
begin
showmessage(''Acesso negado!'');
dmdados.query_login.Close;
edtLogin.Clear;
edtsenha.Clear;
end
else
begin
f_principal.Show;
close;
end;
end;
GOSTEI 0
Ivo Nascimento

Ivo Nascimento

13/07/2016

Então porque a mesagem?Dando erro "DATASET NOT IN EDIT OR INSERT MODE".
Ah, e pq tantas aspas? nao entendi.

Bom dia, seu objetivo é apenas consulta, não usará nem edit sem insert.


dmdados.query_login.Close;


dmdados.query_login.SQL.Text:=''''select login,senha from usuarios where login=[b]''''''''''''[/b] +
quotedstr(edtLogin.Text)+ [b]''''''''''''''''and senha=''''''''''''[/b]+ quotedstr(edtSenha.Text)+[b]''''''''''''''''[/b];

dmdados.query_login.open;

if dmdados.query_login.IsEmpty then
begin
showmessage(''''Acesso negado!'''');
dmdados.query_login.Close;
edtLogin.Clear;
edtsenha.Clear;
end
else
begin
f_principal.Show;
close;
end;
end;
GOSTEI 0
Raylan Zibel

Raylan Zibel

13/07/2016

Em qual linha está dando a mensagem quando você faz a depuração?
GOSTEI 0
Ivo Nascimento

Ivo Nascimento

13/07/2016

Em qual linha está dando a mensagem quando você faz a depuração?


aqui>> dmdados.query_login.SQL.Text:=''''''''select login,senha from usuarios where login='''''''''''''''''''''''' +
quotedstr(edtLogin.Text)+ ''''''''''''''''''''''''''''''''and senha=''''''''''''''''''''''''+ quotedstr(edtSenha.Text)+'''''''''''''''''''''''''''''''';
GOSTEI 0
POSTAR