Migração Paradox X Firebird
Ola programadores,
Estou migrando meu sistema do Paradox para o Firebird,
E tenho algumas duvida sobre como criar as consultas, todas minhas consultas usava o tabela.findnearest ou tabela.findkey. Com a migração estava colocando tudo com o LOCATE, mas vi no fórum que a melhor opção e a consulta via SQL, já usava estas consultas para gerar relatórios e verificar duplicidade em meus cadastros no paradox. Só que não estou conseguindo implementar estas consultas no DBExpress.
Uso Sqlconnection, Sqldatasete, Datasetprovider , Clientdataset e Datasource.
Onde vou implementar a SQL? Quando coloque uma Sqlquery não funciona da a mensagem: operação não suportada!
Estou montando a query run time.
Se alguem pudar me ajudar agradeço !
Hugo Fabrício
Estou migrando meu sistema do Paradox para o Firebird,
E tenho algumas duvida sobre como criar as consultas, todas minhas consultas usava o tabela.findnearest ou tabela.findkey. Com a migração estava colocando tudo com o LOCATE, mas vi no fórum que a melhor opção e a consulta via SQL, já usava estas consultas para gerar relatórios e verificar duplicidade em meus cadastros no paradox. Só que não estou conseguindo implementar estas consultas no DBExpress.
Uso Sqlconnection, Sqldatasete, Datasetprovider , Clientdataset e Datasource.
Onde vou implementar a SQL? Quando coloque uma Sqlquery não funciona da a mensagem: operação não suportada!
Estou montando a query run time.
Se alguem pudar me ajudar agradeço !
Hugo Fabrício
Hugofab
Curtidas 0
Respostas
Macario
20/09/2004
olá poste um exemplo de consulta que voce faz no paradox para podermos lhe mostrar como fica em SQL.
GOSTEI 0
Hugofab
20/09/2004
na verdade já tenho uma noção de como trabalhar com o sql , só não estou sabendo em qual componente usar , como fazer a implemantação.
Pois no Paradox usava a Query, tentei usar a sqlquery para linkar no Dbdrid e da um erro dizendo não aceita linkar um componete unidirecional.
se puder me dar uma luz agradeço !
Pois no Paradox usava a Query, tentei usar a sqlquery para linkar no Dbdrid e da um erro dizendo não aceita linkar um componete unidirecional.
se puder me dar uma luz agradeço !
GOSTEI 0
Paulo_amorim
20/09/2004
Olá
POde-se usar o TSimpleDataSet também...
POde-se usar o TSimpleDataSet também...
GOSTEI 0
Gandalf.nho
20/09/2004
Experimente usar o IBX
GOSTEI 0
Vinicius2k
20/09/2004
POde-se usar o TSimpleDataSet também...
Perdão Paulo, mas o melhor a fazer é esquecer que este componente existe... :D
Colega,
Vc pode usar a instrução SQL tanto na TSQLQuery (propriedade SQL) ou no SQLDataSet (propriedade CommandText)...
A direferença é nenhum dos dois pode ser ligado direamente à um TDataSource para exibição em data-awares como DBGrids, por exemplo... (Esta tentativa de ligação, provavelmente, é a razão da sua mensagem de erro)...
A camada dbExpress é unidirecional, isso quer dizer que vc só pode navegar no DataSet em um sentido e data-awares exigem navegação bidirecional, por isso deve-se utilizar um TDataSetProvider + TClientDataSet.
Até mesmo para suas consultas, vc deverá usar a estrutura : DataSet -> Provider -> ClientDataSet -> DataSource -> data-awares.
Vc pode também implementar a instrução SQL no CommandText do TClientDataSet, desde que configure o Provider para aceitar isso (Options -> poAllowCommandText = True), mas o mais comum é que se utilize no SQLDataSet ou SQLQuery.
Se vc pesquisar aqui no fórum vai encontrar muita coisa sobre dbExpress que pode lhe ajudar a esclarecer suas dúvidas mais rapidamente, mas se se persistirem, não exite em perguntar...
T+
GOSTEI 0