Fórum DataSet not in edit or insert #528463

11/08/2015

0

Tenho uma ela de cadastro para novo usuario, senha e nivel. Um banco de dados Access com uma tabela Login.
Tenho esse código:
begin
dm.qlogin.close;
dm.qlogin.sql.Clear;
dm.qlogin.sql.add('Select * from login where id = ' + QuotedStr(edit1.text));
dm.qlogin.sql.add(' and senha =' + QuotedStr(edit2.text)+' and nivel='+QuotedStr(edit3.text));
dm.qlogin.Open;
if dm.qlogin.RecordCount = 0 then // Não há cadastro
begin
// Salvar no Banco de Dados

dm.qlogin.close;
dm.qlogin.sql.clear;
dm.qlogin.sql.add('insert INTO login (id,senha,nivel) VALUES ');
dm.qlogin.sql.add('id,senha,nivel');
dm.qlogin.FieldByName('id').value := edit1.text;
dm.qlogin.FieldByName('senha').value := edit2.text;
dm.qlogin.FieldByName('nivel').value := edit3.text;

dm.qlogin.execsql;

dm.qlogin.close;
dm.qlogin.sql.clear;
dm.qlogin.sql.add('Select * from login');
dm.qlogin.open;
dm.qlogin.Last;
edit1.text := (dm.qlogin.FieldByName('id').value + 1);
edit2.Clear;
edit3.Clear;
end;
; "

Quando chega nessa linha: dm.qlogin.FieldByName('senha').value := edit2.text;
diz a seguinte mensagem:
Dataset not in edit or insert mode.
Já li alguns fórum aqui sobre isso, mas as dicas davam erradas também.
Oliveira

Oliveira

Responder

Post mais votado

12/08/2015

dm.qlogin.close;
dm.qlogin.sql.clear;
dm.qlogin.sql.add('SELECT * FROM login');
dm.qlogin.OPEN;

dm.qlogin.INSERT;

dm.qlogin.FieldByName('id').ASINTEGER := STRTOINTO(edit1.text);
dm.qlogin.FieldByName('senha').ASINTEGER :=STRTOINTO(edit1.text);
dm.qlogin.FieldByName('nivel').ASINTEGER := STRTOINTO(edit1.text);

dm.qlogin.POST;

Raimundo Pereira

Raimundo Pereira
Responder

Gostei + 1

Mais Posts

12/08/2015

Raimundo Pereira

Asstring>> para String
AsInteger>> para Integer

e assim por diante,
Uso a rotina

dm.qlogin.INSERT;
dm.qlogin.FieldByName('CAMPO BD').AS_TIPO_CAMPO_NO_BD:=campo_FORM
Responder

Gostei + 0

12/08/2015

Oliveira

Muito obrigada. VOu testar. Mas qualquer coisa eu pergunto
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar