DataSet not in edit or insert
Tenho uma ela de cadastro para novo usuario, senha e nivel. Um banco de dados Access com uma tabela Login.
Tenho esse código:
; "
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.
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
Curtidas 0
Melhor post
Raimundo Pereira
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;
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;
GOSTEI 1
Mais Respostas
Raimundo Pereira
11/08/2015
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
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
GOSTEI 0
Oliveira
11/08/2015
Muito obrigada. VOu testar. Mas qualquer coisa eu pergunto
GOSTEI 0