Fórum Dúvida: Query com DataSet normal (sem read-only)? #43284
23/03/2004
0
Eu uso conexões ADO há mais ou menos 2 anos trabalhando com MS-Access e MS-SQL Server. No TADOQuery é possível usar normalmente (sem necessidade de nenhum outro componente) as operações:
TADOQuery.Active := true/false; (equivalente aos métodos Open e Close)
TADOQuery.Append; (insere no final da tabela)
TADOQuery.Insert; (insere após o registro atual)
TADOQuery.Edit; (edita o registro atual)
TADOQuery.ExecSQL; (executa um comando SQL qualquer)
TADOQuery.Post; (posta o resultado)
Bem, eu criei um framework inteiramente baseado nesta estrutura e gostaria de saber como posso migrá-lo para Firebird.
Estou enfrentando problemas porque o tal do TIBQuery põe o dataset como read-only sempre, e precisa do outro componente (TIBUpdateSQL) para executar as outras ações.
Como posso usar os métodos acima em componentes IBX? Minhas rotinas são todas do tipo:
TADOQuery.Append; (ou TADOQuery.Edit;)
// sequência de campos
TADOQuery.FieldByName(´meuCampo´) .AsInteger := 1;
// insere no banco
TADOQuery.Post;
Outra dúvida. Todas as minhas transações eu controlava pelo TADOConnection.
TADOConnection.BeginTrans;
TADOConnection.InTransaction;
TADOConnection.RollBack;
I aí? Como que eu faço? Quanto às transações acho que não terei dificuldades. Visto que eu posso simplesmente associar um TIBTransaction ao TIBDataBase e continuar trabalhando da mesma forma.
obs.: eu nunca fiz conexão com banco de dados usando BDE (o que tornou a nova estrutura uma barreira de paradigmas pra mim).
Minha pergunta é ´[b:ce97edee23]e agora José[/b:ce97edee23]´? hehehe.
Agradeço desde já todo o apoio que puderem me dar. :lol: [color=darkred:ce97edee23][/color:ce97edee23]
Paullus
Curtir tópico
+ 0Posts
23/03/2004
Gandalf.nho
Gostei + 0
23/03/2004
Afarias
Seja a escolha q fizer, NÃO use BDE!
Como o gandalf.nho falou, use IBDataSets para trabalhar como vc trabalhava no Access. Um IBDataSet = IBQuery+IBUpdateSQL
T+
Gostei + 0
23/03/2004
Paullus
O problema é: Como utilizar as rotinas que eu uso hoje em TADOQuery com o TIBDataSet? :(
TIBDataSet.Append;
TIBDataSet.FieldByName(´meuInteiro´).AsInteger := 1;
TIBDataSet.Post;
A dúvida maior é como fazer isto. O meu framework já está bem consolidado e, apesar de aceitar trocar o TADOQuery por um TIBDataSet, o que não posso fazer é ter que reescrever todo o código do framework [u:0f3f67b962][b:0f3f67b962][size=18:0f3f67b962]E[/size:0f3f67b962][/b:0f3f67b962][/u:0f3f67b962] das classes que o utilizam. Entendem? :?:
:!: Se alguém tiver um exemplo de uso do TIBDataSet SEM USO DE TDBNavigator nem de componentes tipo TDBEdit ou TDBMemo seria muito bem vindo. :!:
Preciso desse tipo de estrutura porque a minha interface visual apenas recebe os resultados das minhas classes. Será que alguém pode me ajudar?
Quanto ao ADO eu sei que posso acessar o Interbase pelo ADO via OleDB só que aí eu perco a bendita portabilidade que os meus chefes tanto querem (os sistemas deverão estar preparados o máximo possível para serem compilados no Kylix caso seja necessário). :cry
Gostei + 0
23/03/2004
Afarias
|com o TIBDataSet?
|TIBDataSet.Append;
|TIBDataSet.FieldByName(´meuInteiro´).AsInteger := 1;
|TIBDataSet.Post;
Exatamente! IGUAL!
|A dúvida maior é como fazer isto.
Veja o exemplo postado no topo deste fórum (exemplo básico com IBX)
|O meu framework já está bem consolidado e, apesar de aceitar trocar o
|TADOQuery por um TIBDataSet, o que não posso fazer é ter que
|reescrever todo o código do framework E das classes que o utilizam.
|Entendem?
Não será necessário (bom, não estou considerando o uso de transações e outros recursos como filtro e etc -- estes podem talvês exigir algumas pequenas alterações no framework)
|Se alguém tiver um exemplo de uso do TIBDataSet SEM USO DE
|TDBNavigator nem de componentes tipo TDBEdit ou TDBMemo seria
|muito bem vindo.
Veja o exemplo no topo do fórum (apenas cobre o uso de IBDataSets, não considera o uso ou não de controles DataWare)
|Preciso desse tipo de estrutura porque a minha interface visual apenas
|recebe os resultados das minhas classes. Será que alguém pode me
|ajudar?
O IBDataSet é só um DataSet, se seu framework trabalha bem com outros datasets, vc não terá maiores problemas.
|Quanto ao ADO eu sei que posso acessar o Interbase pelo ADO via
|OleDB só que aí eu perco a bendita portabilidade que os meus chefes
|tanto querem (os sistemas deverão estar preparados o máximo possível
|para serem compilados no Kylix caso seja necessário). :cry
Ok
T+
Gostei + 0
23/03/2004
Paullus
Mesmo assim obrigado... mais tarde talvez eu importune vocês de novo. :wink:
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)