quot;Must apply updates before refreshing dataquot;
Olá
estou fazendo o seguinte Inset:
Transacao.TransactionID := 1;
Transacao.IsolationLevel := xilREPEATABLEREAD;
DataModule1.base.StartTransaction(transacao);
dtNIvel.Close;
dtNIvel.CommandType := ctQuery;
dtNIvel.CommandText := ´insert into NIVEL(NIVL_ID, NIVL_NOME) values(:NIVL_ID, :NIVL_NOME)´;
dtNIvel.ParamByName(´NIVL_ID´).AsString := DBEdit1.text;
dtNIvel.ParamByName(´NIVL_NOME´).AsString := DBEdit2.text;
dtNIvel.ExecSQL;
DataModule1.base.Commit(Transacao);
--------
Cadastra no BD tudo ok....
após na minha tela de consulta faço o seguinte select:
transacao.TransactionID := 1;
transacao.IsolationLevel := xilREPEATABLEREAD;
DataModule1.base.StartTransaction(Transacao);
queNivel.Close;
queNivel.SQL.Clear;
queNivel.SQL.Add(consulta); // nesta variavel eu passo a instrução SQL
queNivel.Open;
clNivel.Refresh;
----
A minha select funciona perfeitamente, só não funciona quando faço um cadastro e depois vou fazer a select... ai não funciona dando erro na linha //clNivel.Refresh; uso ela para aparecer os dados atualizados na GRID após a consulta.
o erro é este: ´Must apply updates before refreshing data´
a solução seria colocar um clNivel.ApplyUpdates(0); no meu Insert... ?
aonde eu colocaria??? o que posso fazer?
thx
Éder Varela
estou fazendo o seguinte Inset:
Transacao.TransactionID := 1;
Transacao.IsolationLevel := xilREPEATABLEREAD;
DataModule1.base.StartTransaction(transacao);
dtNIvel.Close;
dtNIvel.CommandType := ctQuery;
dtNIvel.CommandText := ´insert into NIVEL(NIVL_ID, NIVL_NOME) values(:NIVL_ID, :NIVL_NOME)´;
dtNIvel.ParamByName(´NIVL_ID´).AsString := DBEdit1.text;
dtNIvel.ParamByName(´NIVL_NOME´).AsString := DBEdit2.text;
dtNIvel.ExecSQL;
DataModule1.base.Commit(Transacao);
--------
Cadastra no BD tudo ok....
após na minha tela de consulta faço o seguinte select:
transacao.TransactionID := 1;
transacao.IsolationLevel := xilREPEATABLEREAD;
DataModule1.base.StartTransaction(Transacao);
queNivel.Close;
queNivel.SQL.Clear;
queNivel.SQL.Add(consulta); // nesta variavel eu passo a instrução SQL
queNivel.Open;
clNivel.Refresh;
----
A minha select funciona perfeitamente, só não funciona quando faço um cadastro e depois vou fazer a select... ai não funciona dando erro na linha //clNivel.Refresh; uso ela para aparecer os dados atualizados na GRID após a consulta.
o erro é este: ´Must apply updates before refreshing data´
a solução seria colocar um clNivel.ApplyUpdates(0); no meu Insert... ?
aonde eu colocaria??? o que posso fazer?
thx
Éder Varela
Edervarela
Curtidas 0
Respostas
Denis
30/10/2006
Olá.
Vc está usando qual banco de dados ? Se estiver usando tem algum campo que é autoincremento ou se usa firebird algum generator ???
Pode ser por isso o erro.
Vc está usando qual banco de dados ? Se estiver usando tem algum campo que é autoincremento ou se usa firebird algum generator ???
Pode ser por isso o erro.
GOSTEI 0
Edervarela
30/10/2006
Olá.
Vc está usando qual banco de dados ? Se estiver usando tem algum campo que é autoincremento ou se usa firebird algum generator ???
Pode ser por isso o erro.
Não estou utilizando autoincremento porque os códigos eu tenho que informar... e nem generator....
O banco de dados é o Interbase...
estou utilizando os componentes dbx
fico no aguardo por uma ajuda... vlw pela atenção Denis.
abraços
Éder Varela
GOSTEI 0