Duvida com dbExpress
Bom pessoal, sempre usei ADO para conexão com Bacno de Dados, agora estou tentando aprender dbExpress e estou com uma duvida:
primeiro fiz um teste assim:
Beleza funcionou legal !!!!!
Então troquei o SQLDataSet por um SQLQuery:
ai quando executo: ClientDataSet.ApplyUpdates(0);
dá erro:
[color=red:1d93b62e40]´Table unknown employee´[/color:1d93b62e40]
como resolver isso ????
primeiro fiz um teste assim:
SQLConnection -> SQLDataSet(commandType=ctTable) -> DataSetProvider -> ClienteDataSet -> DataSource
Beleza funcionou legal !!!!!
Então troquei o SQLDataSet por um SQLQuery:
SQLConnection -> SQLQuery -> DataSetProvider -> ClienteDataSet -> DataSource
ai quando executo: ClientDataSet.ApplyUpdates(0);
dá erro:
[color=red:1d93b62e40]´Table unknown employee´[/color:1d93b62e40]
como resolver isso ????
Fabiano Góes
Curtidas 0
Respostas
Mdm
22/05/2006
Provavelmente seu sql dentro da query esteja em minusculo passe-o para maisculo.
Se não der certo poste novamente !
[]s
Se não der certo poste novamente !
[]s
GOSTEI 0
Fabiano Góes
22/05/2006
MDM
muito obrigado pela atenção !!!!
Era extamente isso, apenas mudei o sql da query para maiusculo e funcionou, só que :
se faço uma alteração beleza ao fazer uma segunda alteraçao e executar o ClientDataSet.ApplyUpdates(0);
retorno outro erro:
[color=red:38c141f185]´Record not found or changed by anouther user´[/color:38c141f185]
desculpe a iguinorancia, mais estou realmente iniciando em dbExpress e estou muito a fim de aprender.
desde já agredeço !!!!
muito obrigado pela atenção !!!!
Era extamente isso, apenas mudei o sql da query para maiusculo e funcionou, só que :
se faço uma alteração beleza ao fazer uma segunda alteraçao e executar o ClientDataSet.ApplyUpdates(0);
retorno outro erro:
[color=red:38c141f185]´Record not found or changed by anouther user´[/color:38c141f185]
desculpe a iguinorancia, mais estou realmente iniciando em dbExpress e estou muito a fim de aprender.
desde já agredeço !!!!
GOSTEI 0
Fabiano Góes
22/05/2006
Opá, Galsera não sei se estou fazendo da maneira correta, mais assim resolveu:
se esta não é a maneira correta de atualizar os dados, por favor me corrijam !!!!
begin ClientDataSet.ApplyUpdates(0); ClientDataSet.Close; ClientDataSet.Open; end;
se esta não é a maneira correta de atualizar os dados, por favor me corrijam !!!!
GOSTEI 0
Mdm
22/05/2006
Ola Colega !
Vc esta dando um post no ClientDataSet antes de aplicar o ApplyUpdates ? (não tenho certeza se isso afeta em algo)
Mesmo vc tendo relsolvido esse problema eu sugiro vc verificar os ProviderFlags dos Fiels, pois este erro esta ligado a eles.
Vc esta dando um post no ClientDataSet antes de aplicar o ApplyUpdates ? (não tenho certeza se isso afeta em algo)
Mesmo vc tendo relsolvido esse problema eu sugiro vc verificar os ProviderFlags dos Fiels, pois este erro esta ligado a eles.
GOSTEI 0
Adriano Santos
22/05/2006
[quote:122fb81fa8=´Fabiano Góes´]Opá, Galsera não sei se estou fazendo da maneira correta, mais assim resolveu:
se esta não é a maneira correta de atualizar os dados, por favor me corrijam !!!![/quote:122fb81fa8]
O certo mesmo é isso:
Use isso [color=red:122fb81fa8][b:122fb81fa8]SqlConnection.CloseDataSets;[/b:122fb81fa8][/color:122fb81fa8] pra fechar os DataSets. E não fecha totalmente, apenas limpa os resultados.
begin ClientDataSet.ApplyUpdates(0); ClientDataSet.Close; ClientDataSet.Open; end;
se esta não é a maneira correta de atualizar os dados, por favor me corrijam !!!![/quote:122fb81fa8]
O certo mesmo é isso:
begin ClientDataSet.Post; ClientDataSet.ApplyUpdates(0); SqlConnection.CloseDataSets; end;
Use isso [color=red:122fb81fa8][b:122fb81fa8]SqlConnection.CloseDataSets;[/b:122fb81fa8][/color:122fb81fa8] pra fechar os DataSets. E não fecha totalmente, apenas limpa os resultados.
GOSTEI 0
Paullsoftware
22/05/2006
[quote:780e2386b6=´Adriano Santos´]
Use isso [color=red:780e2386b6][b:780e2386b6]SqlConnection.CloseDataSets;[/b:780e2386b6][/color:780e2386b6] pra fechar os DataSets. E não fecha totalmente, apenas limpa os resultados.[/quote:780e2386b6]
mais se esse projeto for em multicamadas, não tenho acesso direto ao SqlConnection e sim aos providers, como devo proceder nesses casos? é que estou estudando MultiCamdas, então não posso fazer assim ou posso? :roll:
begin ClientDataSet.Post; ClientDataSet.ApplyUpdates(0); SqlConnection.CloseDataSets; end;
Use isso [color=red:780e2386b6][b:780e2386b6]SqlConnection.CloseDataSets;[/b:780e2386b6][/color:780e2386b6] pra fechar os DataSets. E não fecha totalmente, apenas limpa os resultados.[/quote:780e2386b6]
mais se esse projeto for em multicamadas, não tenho acesso direto ao SqlConnection e sim aos providers, como devo proceder nesses casos? é que estou estudando MultiCamdas, então não posso fazer assim ou posso? :roll:
GOSTEI 0
Adriano Santos
22/05/2006
Use isso [color=red:31b045e2bd][b:31b045e2bd]SqlConnection.CloseDataSets;[/b:31b045e2bd][/color:31b045e2bd] pra fechar os DataSets. E não fecha totalmente, apenas limpa os resultados.
mais se esse projeto for em multicamadas, não tenho acesso direto ao SqlConnection e sim aos providers, como devo proceder nesses casos? é que estou estudando MultiCamdas, então não posso fazer assim ou posso? :roll:
Mult-Camadas, ahhh, a história é outra. Não manjo muito de N-tier, mas acredito que tenha mesmo que usar a solução com Close e Open, do modo como está acima, sem usar o que mencionei. Vc tem razão.
GOSTEI 0
Paullsoftware
22/05/2006
encontrei algumas respostas para as minhas dúvidas aqui:
http://forum.clubedelphi.net/viewtopic.php?t=75421&highlight=dbexpress+iniciante
http://forum.clubedelphi.net/viewtopic.php?t=58547
http://forum.clubedelphi.net/viewtopic.php?t=75421&highlight=dbexpress+iniciante
http://forum.clubedelphi.net/viewtopic.php?t=58547
GOSTEI 0
Adriano Santos
22/05/2006
encontrei algumas respostas para as minhas dúvidas aqui:
http://forum.clubedelphi.net/viewtopic.php?t=75421&highlight=dbexpress+iniciante
http://forum.clubedelphi.net/viewtopic.php?t=58547
É isso ai cara, cola na do Vinicius2k pq ele manja pra caramba, tinha visto estes tópicos já e os tenho no meu del.icio.us.
:wink:
GOSTEI 0
Fabiano Góes
22/05/2006
Valeu ai galera pelas dicas !!!!!
no meu caso não é multicamadas, então a dica do Adriano se encaixa perfeitamente.
Valeu adriano mais uma vez !!!!!
no meu caso não é multicamadas, então a dica do Adriano se encaixa perfeitamente.
Valeu adriano mais uma vez !!!!!
GOSTEI 0
Adriano Santos
22/05/2006
[quote:69f733bc8b=´Fabiano Góes´]Valeu ai galera pelas dicas !!!!!
no meu caso não é multicamadas, então a dica do Adriano se encaixa perfeitamente.
Valeu adriano mais uma vez !!!!![/quote:69f733bc8b]
Só uma última informação. Não utilize o SqlQuery, ele foi concebido apenas para facilitar a migração de sistemas, não deve ser usado. Use o SqlDataSet mesmo.
no meu caso não é multicamadas, então a dica do Adriano se encaixa perfeitamente.
Valeu adriano mais uma vez !!!!![/quote:69f733bc8b]
Só uma última informação. Não utilize o SqlQuery, ele foi concebido apenas para facilitar a migração de sistemas, não deve ser usado. Use o SqlDataSet mesmo.
GOSTEI 0