Array
(
)

Migração Paradox X Firebird

Hugofab
   - 20 set 2004

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


Macario
   - 20 set 2004

olá poste um exemplo de consulta que voce faz no paradox para podermos lhe mostrar como fica em SQL.


Hugofab
   - 20 set 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 !


Paulo_amorim
   - 20 set 2004

Olá

POde-se usar o TSimpleDataSet também...


Gandalf.nho
   - 20 set 2004

Experimente usar o IBX


Vinicius2k
   - 20 set 2004


Citação:
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+