ClientDataSet com FireDAC
Estou migrando do DBExpress para o Firedac ( Delphi XE7), a ideia é usar no inicio o TFDQuery + TDataSetProvider + TClientDataSet, alguém sabe como funciona?
Consigo visualizar os dados mas não consigo gravar alterações no Banco ( Firebird), quando dou clientedataset.applyupdates não retorna erro mas não grava no banco.
A alteração grava no ClientDataSet mas não no banco.
Consigo visualizar os dados mas não consigo gravar alterações no Banco ( Firebird), quando dou clientedataset.applyupdates não retorna erro mas não grava no banco.
A alteração grava no ClientDataSet mas não no banco.
Roberto Rodrigues
Curtidas 0
Melhor post
Mateus Carvalho
13/05/2015
Eu pensei que você estava usando o FDTable.
Com o FDQuery, você tem que utilizar o ApplyUpDate, pois o Query, "gera" uma tabela temporária na memoria, ai para alterar o na base, tem que usar o código.
Nesse caso, você pode usar o FDTable, que usa a tabela em tempo real.
Att
Com o FDQuery, você tem que utilizar o ApplyUpDate, pois o Query, "gera" uma tabela temporária na memoria, ai para alterar o na base, tem que usar o código.
Nesse caso, você pode usar o FDTable, que usa a tabela em tempo real.
Att
GOSTEI 1
Mais Respostas
Mateus Carvalho
05/05/2015
Roberto, para conectar, eu uso as seguintes ferramentas:
1 FDConnection
1 FDtransaction
1 FDTable
No Connection, eu configuro os dados de acesso, usuário, senha e etc.
Na Table, eu seleciono a tabela que eu quero, e para salvar, apenas utilizo o comando POST, quem faz essa transação, é o componente Transaction.
1 FDConnection
1 FDtransaction
1 FDTable
No Connection, eu configuro os dados de acesso, usuário, senha e etc.
Na Table, eu seleciono a tabela que eu quero, e para salvar, apenas utilizo o comando POST, quem faz essa transação, é o componente Transaction.
GOSTEI 0
Aislan Sousa
05/05/2015
ei será que pode me ajudar
Ola boa tarde tou com um problema talvez seja bem simples de resolver mais não tou conseguindo.
Tou desenvolvendo um sistema de cadastro para apresentar como trabalho da universidade é só cadastro de alunos
e é o seguinte:
Estou fazendo no Rad Studio XE6 com o firebird onde criei uma tabela de Alunos a conexão é o dbExpress + data Snap é que estamos estudando conexão com o fireDac e dbExpress , fizemos o sistema e ele roda na maquina que fizemos, mais para nossa surpresa quando fomos mostra para a professora só rodou o Servidor, a parte do lado do Cliente deu o seguinte erro,
Erro Socket
Exemplo: Onde nos fizemos colocamos o caminho para o banco de dados assim: 192.168.1.2:C:\Arquivos de programas\Banco\Alunos.FDB
Trocamos o o IP do pc da Universidade mais a professora desse que assim não tínhamos que desenvolver um arquivo "INI" desenvolvemos mais continua dando o mesmo erro e quando mudamos o IP da maquina onde ele foi feito também da erro. se alguém poder nos ajudar ficamos grato.
Ola boa tarde tou com um problema talvez seja bem simples de resolver mais não tou conseguindo.
Tou desenvolvendo um sistema de cadastro para apresentar como trabalho da universidade é só cadastro de alunos
e é o seguinte:
Estou fazendo no Rad Studio XE6 com o firebird onde criei uma tabela de Alunos a conexão é o dbExpress + data Snap é que estamos estudando conexão com o fireDac e dbExpress , fizemos o sistema e ele roda na maquina que fizemos, mais para nossa surpresa quando fomos mostra para a professora só rodou o Servidor, a parte do lado do Cliente deu o seguinte erro,
Erro Socket
Exemplo: Onde nos fizemos colocamos o caminho para o banco de dados assim: 192.168.1.2:C:\Arquivos de programas\Banco\Alunos.FDB
Trocamos o o IP do pc da Universidade mais a professora desse que assim não tínhamos que desenvolver um arquivo "INI" desenvolvemos mais continua dando o mesmo erro e quando mudamos o IP da maquina onde ele foi feito também da erro. se alguém poder nos ajudar ficamos grato.
GOSTEI 0
Mateus Carvalho
05/05/2015
Aislan Rafael Rodrigues de Sousa, cara, normalmente, esse erro apresenta quando o data snap não está ativo ou não consegue conectar no ip especificado. Isso pode ser causado por bloqueio do firewall ou do antivírus.
De uma verificada, e post os resultados.
De uma verificada, e post os resultados.
GOSTEI 0
Roberto Rodrigues
05/05/2015
O FDTransaction substitui o DataSetProvider?
GOSTEI 0
Mateus Carvalho
05/05/2015
A grosso modo sim, Roberto.
GOSTEI 0
Roberto Rodrigues
05/05/2015
Mac,
Você poderia me explicar melhor como você usa o FDTransaction?
Ele fica ligado ao FDConection ou na propriedade Transaction da FDTable?
Não estou utilizando FDConection e para salvar utilizo FDTable.ApplyUpdates(0) esta salvando normalmente.
Um problema que tive é não poder utilizar o dbNavigator, criei o meus próprios botões.
Tem algum artigo de como utilizar o FDTransaction?
Você poderia me explicar melhor como você usa o FDTransaction?
Ele fica ligado ao FDConection ou na propriedade Transaction da FDTable?
Não estou utilizando FDConection e para salvar utilizo FDTable.ApplyUpdates(0) esta salvando normalmente.
Um problema que tive é não poder utilizar o dbNavigator, criei o meus próprios botões.
Tem algum artigo de como utilizar o FDTransaction?
GOSTEI 0
Mateus Carvalho
05/05/2015
Roberto,
Para funções básica, como adicionar, editar, deletar, etc, não se programa nenhuma linha no transaction. Basta vincula-lo na propriedade Transaction. Eu coloco ele vinculado no FDconnection, pois assim, consigo acessar varias tabelas em apenas uma conexão, mais se você colocar na table, também funciona. Não é necessário utilizar o "ApplyUpdates(0)", pois o Transaction faz isso para você.
O melhor artigo dele encontra-se na ajuda do Delphi!
Para funções básica, como adicionar, editar, deletar, etc, não se programa nenhuma linha no transaction. Basta vincula-lo na propriedade Transaction. Eu coloco ele vinculado no FDconnection, pois assim, consigo acessar varias tabelas em apenas uma conexão, mais se você colocar na table, também funciona. Não é necessário utilizar o "ApplyUpdates(0)", pois o Transaction faz isso para você.
O melhor artigo dele encontra-se na ajuda do Delphi!
GOSTEI 0
Roberto Rodrigues
05/05/2015
Mac,
Então com um FDTransaction ligado no FDConnection é suficiente?
Então com um FDTransaction ligado no FDConnection é suficiente?
GOSTEI 0
Mateus Carvalho
05/05/2015
Sim, ele consegue dar conta tranquilo!
GOSTEI 0
Roberto Rodrigues
05/05/2015
MAC,
Com POST no FDTable ( FDQuery) não esta salvando tenho que dar o ApplyUpDate.
Estou inserindo um registro e não grava no banco com POST.
Com POST no FDTable ( FDQuery) não esta salvando tenho que dar o ApplyUpDate.
Estou inserindo um registro e não grava no banco com POST.
GOSTEI 0
Mateus Carvalho
05/05/2015
Faz um favor então.... Coloque os parâmetros de configuração que você esta usando no fdconnection e no fdtable.
Assim facilita pra mim.
Assim facilita pra mim.
GOSTEI 0
Roberto Rodrigues
05/05/2015
MAC
Anexo o Object Inspector dos componentes.
[img:descricao=FDConnection]http://arquivo.devmedia.com.br/forum/imagem/30047-20150512-182837.png[/img]
[img:descricao=FDQuery 1]http://arquivo.devmedia.com.br/forum/imagem/30047-20150512-182921.png[/img]
[img:descricao=FDQuery 2]http://arquivo.devmedia.com.br/forum/imagem/30047-20150512-182942.png[/img]
Anexo o Object Inspector dos componentes.
[img:descricao=FDConnection]http://arquivo.devmedia.com.br/forum/imagem/30047-20150512-182837.png[/img]
[img:descricao=FDQuery 1]http://arquivo.devmedia.com.br/forum/imagem/30047-20150512-182921.png[/img]
[img:descricao=FDQuery 2]http://arquivo.devmedia.com.br/forum/imagem/30047-20150512-182942.png[/img]
GOSTEI 0
Roberto Rodrigues
05/05/2015
MAC,
O FDTable não fica pesado, não gera muito trafego na rede?
O FDTable não fica pesado, não gera muito trafego na rede?
GOSTEI 0
Mateus Carvalho
05/05/2015
Ele consome mais que o Query, entretanto, nunca pesou nos meus sistemas, e olha que eu tenho sistemas com várias tabelas ativas ao mesmo tempo.
GOSTEI 0
Gilberto Moura
05/05/2015
Tenta usar ele com FdtMemtable
GOSTEI 0
Marcelo Castro
05/05/2015
Eu uso a seguinte estrutura:
FDQuery
TDataSource -- Na propriedade DataSet coloca o FDQuery
TDBGrid -- Na propriedade DataSource informde o TDataSource.
FDQuery
TDataSource -- Na propriedade DataSet coloca o FDQuery
TDBGrid -- Na propriedade DataSource informde o TDataSource.
GOSTEI 0
Roberto Andrade
05/05/2015
Alguem de vocês consegue conectar o FireDAC com o Oracle no Delphi Berlim ?
GOSTEI 0