ApplyUpdates não grava no banco (android)
Olá, boa noite!
Estou mexendo em um aplicação Android feita em Delphi. Utilizo o delphi seattle e me deparei com um problema:
Minha FDConnection está com OpenMode = ReadWrite.
FDquery está com o cached update = true;
Utilizo FDconnection + FDQuery.
Consigo dar open nas tabelas e trago tudo que está salvo no banco,mas quando dou o ApplyUpdates as informações não vão para o banco, implementei o reconcille error para ver se retornava algum erro, mas não da erro algum... Se alguém souber o que pode ser.
Obrigado!
Estou mexendo em um aplicação Android feita em Delphi. Utilizo o delphi seattle e me deparei com um problema:
Minha FDConnection está com OpenMode = ReadWrite.
FDquery está com o cached update = true;
Utilizo FDconnection + FDQuery.
Consigo dar open nas tabelas e trago tudo que está salvo no banco,mas quando dou o ApplyUpdates as informações não vão para o banco, implementei o reconcille error para ver se retornava algum erro, mas não da erro algum... Se alguém souber o que pode ser.
Obrigado!
Core
Curtidas 0
Respostas
Core
02/08/2016
Tentei dar um execSql fazendo o insert na tabela e até assim não vai.
GOSTEI 0
Natanael Ferreira
02/08/2016
Experimente após o ApplyUpdates dar um Commit no Dataset.
Exemplo:
Exemplo:
procedure TConnection.InsertExemplo;
const
SQL: string = 'INSERT INTO TABELA' + SLineBreak +
'(TESTE, TESTNOME)VALUES' + SLineBreak +
'(:TESTE, :TESTNOME)';
begin
fQuery.SQL.Clear;
fQuery.SQL.Add(SQL);
fQuery.ParamByName('TESTE').AsString := 'DEVMEDIA';
fQuery.ParamByName('TESTNOME').AsString := 'DEVMEDIATESTE';
fQuery.ExecSQL;
fQuery.Connection.Commit; // Adicione esta linha
end;GOSTEI 0
Core
02/08/2016
Oi. Natanael. nao funcionou.
GOSTEI 0
Natanael Ferreira
02/08/2016
Experimente dar um applyupdates no FDConnection passando como parâmetro o FDQuery.
Exemplo:
Veja este link:
http://isaquesp.blogspot.com.br/2013/07/firedac-com-firebird-e-cacheupdate.html
Exemplo:
FDQuery1.Post; FDConnection1.ApplyUpdates([FDQuery1]);
Veja este link:
http://isaquesp.blogspot.com.br/2013/07/firedac-com-firebird-e-cacheupdate.html
GOSTEI 0
Core
02/08/2016
Não funcionou tambem.
Fiz tentando ler escrever um arquivo e da a mesma coisa, consigo ler o arquivo q está la na pasta de qdo faço deploy, mas quando vou escrever ele não da erro mas tb não grava fica do mesmo jeito. E o caminho do arquivo esta corret. .\assets\internal\
Deixei todas as permissões ativadas e nada. Já n faço idéia mais do q possa ser.
Fiz tentando ler escrever um arquivo e da a mesma coisa, consigo ler o arquivo q está la na pasta de qdo faço deploy, mas quando vou escrever ele não da erro mas tb não grava fica do mesmo jeito. E o caminho do arquivo esta corret. .\assets\internal\
Deixei todas as permissões ativadas e nada. Já n faço idéia mais do q possa ser.
GOSTEI 0
Wellington Telles
02/08/2016
Uma das coisas que percebi foi que o modo de acessar o banco de dados tem grande influência principalmente se utilizar dois programas para acessar o banco gerando conflito.
A ideia é usar no modo compartilhado conforme a página sugere:
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Connect_to_SQLite_database_(FireDAC)
Para usar terá que "setar" esses dois parametros:
LockingMode=Normal
Synchronous=Normal
Do seu FDConnection.
A ideia é usar no modo compartilhado conforme a página sugere:
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Connect_to_SQLite_database_(FireDAC)
Para usar terá que "setar" esses dois parametros:
LockingMode=Normal
Synchronous=Normal
Do seu FDConnection.
GOSTEI 0