SQL /browse
SQL /browse
Ola amigos do outro lado do universo
...estou usando a SQLlib free para se conectar com a base de dados MySqL
meu interesse na RDD é apenas para se conectar com a Base de dados e usar somente comandos SQL,pois bem , tenho um browse() com os dados e gostaria de fazer um SEEK em determinada columa e fazer o PONTEIRO do browse ir até este registro assim como faziamos com DBF
Assim era com dbf um DBSEEK(Variable)
e com SQL como substituir ??
alguem teria um exemplo com Xbrowse()
até ++
...estou usando a SQLlib free para se conectar com a base de dados MySqL
meu interesse na RDD é apenas para se conectar com a Base de dados e usar somente comandos SQL,pois bem , tenho um browse() com os dados e gostaria de fazer um SEEK em determinada columa e fazer o PONTEIRO do browse ir até este registro assim como faziamos com DBF
Assim era com dbf um DBSEEK(Variable)
e com SQL como substituir ??
alguem teria um exemplo com Xbrowse()
até ++
Grande Eder,
Estamos utilizando a SQLLIB Free aqui em nossa versão nova do sistema.
Para realizar a conexão com o banco de dados e realizar comandos SQL (absolutamente todos eles são permitidos ), esta versão da SQLLIB é show de bola.
Infelizmente, ela não consegue realizar um dbSeek pois a área aberta pela versão não é indexada! Falei com o Vailton e ele confirmou que esse recurso está disponível apenas na versão comercial da SQLLIB.
Estamos utilizando a SQLLIB Free aqui em nossa versão nova do sistema.
Para realizar a conexão com o banco de dados e realizar comandos SQL (absolutamente todos eles são permitidos ), esta versão da SQLLIB é show de bola.
Infelizmente, ela não consegue realizar um dbSeek pois a área aberta pela versão não é indexada! Falei com o Vailton e ele confirmou que esse recurso está disponível apenas na versão comercial da SQLLIB.
Peace and lighting!
Júlio César M. Ferreira
FWH 8.10 / xHB 1.1.0 / xDevStudio 0.72 / Pelles C 5.0.1 / SQLLIB 1.9
Júlio César M. Ferreira
FWH 8.10 / xHB 1.1.0 / xDevStudio 0.72 / Pelles C 5.0.1 / SQLLIB 1.9
JC wrote:Grande Eder,
Estamos utilizando a SQLLIB Free aqui em nossa versão nova do sistema.
Para realizar a conexão com o banco de dados e realizar comandos SQL (absolutamente todos eles são permitidos ), esta versão da SQLLIB é show de bola.
Infelizmente, ela não consegue realizar um dbSeek pois a área aberta pela versão não é indexada! Falei com o Vailton e ele confirmou que esse recurso está disponível apenas na versão comercial da SQLLIB.
Eu sei que não funciona , o que quero é saber como se faz com comandos SQL
té++
Eder,
Da forma como é feita em clipper puro, onde vc faz um dbssek e ele posiciona o ponteiro automaticamente no recno() do registro correspondente não tem... pelo menos com essa versão não!
Vc pode fazer o comando "locate for" ou criar uma rotina para fazer uma filtragem de resultado... onde vc digitaria alguns dados para o filtro, como data ou código e a query seria executada retornando alguma coisa.
Mas veja bem, ela não iria posicionar-se no registro e sim trazer o resultado com menos registros, até chegar a um apenas. Pois a query vai "abreviando" os resultados para as ocorrências que combinarem.
Da forma como é feita em clipper puro, onde vc faz um dbssek e ele posiciona o ponteiro automaticamente no recno() do registro correspondente não tem... pelo menos com essa versão não!
Vc pode fazer o comando "locate for" ou criar uma rotina para fazer uma filtragem de resultado... onde vc digitaria alguns dados para o filtro, como data ou código e a query seria executada retornando alguma coisa.
Mas veja bem, ela não iria posicionar-se no registro e sim trazer o resultado com menos registros, até chegar a um apenas. Pois a query vai "abreviando" os resultados para as ocorrências que combinarem.
Peace and lighting!
Júlio César M. Ferreira
FWH 8.10 / xHB 1.1.0 / xDevStudio 0.72 / Pelles C 5.0.1 / SQLLIB 1.9
Júlio César M. Ferreira
FWH 8.10 / xHB 1.1.0 / xDevStudio 0.72 / Pelles C 5.0.1 / SQLLIB 1.9
JC wrote:Eder,
Da forma como é feita em clipper puro, onde vc faz um dbssek e ele posiciona o ponteiro automaticamente no recno() do registro correspondente não tem... pelo menos com essa versão não!
Vc pode fazer o comando "locate for" ou criar uma rotina para fazer uma filtragem de resultado... onde vc digitaria alguns dados para o filtro, como data ou código e a query seria executada retornando alguma coisa.
Mas veja bem, ela não iria posicionar-se no registro e sim trazer o resultado com menos registros, até chegar a um apenas. Pois a query vai "abreviando" os resultados para as ocorrências que combinarem.
bom dia caro amigo,
Pelo que estou entendendo só é possivel montar um browse com dados que a sua consulta retorna do banco da tabela e não é mais possivel montar um browse e ir fazendo aquela pesquisa letra-a-letra que era feita em DBF , seria isso ?
Eder,
Isso mesmo! Agora vc pode ir "refazendo" a exibição do seu browse através da query de uma tabela, filtrando através da cláusula WHERE, dos parâmetros que vc desejar.
Mas realizar um "posicionamento" com dbseek() como no DBF, com esta versão da SQLLIB, não é possível!
Vc pode visualizar de forma diferente: Ao invés de posicionar o registro em, por exemplo, mil registros... vc vai diminuindo esse total, de acordo com o filtro feito pelo WHERE, para 100, para 20, para 5... até chegar ao desejado... ou vc ter a possibilidade de selecionar o registro antes mesmo.
O dbssek() necessita de um índice e essa versão da SQLLIB não suporta a criação de índices estilo DBF para a sua área aberta ;(
Fora esse detalhe, todo o resto é espetacular... quando vc quer trabalhar com querys e não utilizar os comandos RDD nativos para o DBF![Wink ;)](./images/smilies/icon_wink.gif)
Isso mesmo! Agora vc pode ir "refazendo" a exibição do seu browse através da query de uma tabela, filtrando através da cláusula WHERE, dos parâmetros que vc desejar.
Mas realizar um "posicionamento" com dbseek() como no DBF, com esta versão da SQLLIB, não é possível!
Vc pode visualizar de forma diferente: Ao invés de posicionar o registro em, por exemplo, mil registros... vc vai diminuindo esse total, de acordo com o filtro feito pelo WHERE, para 100, para 20, para 5... até chegar ao desejado... ou vc ter a possibilidade de selecionar o registro antes mesmo.
O dbssek() necessita de um índice e essa versão da SQLLIB não suporta a criação de índices estilo DBF para a sua área aberta ;(
Fora esse detalhe, todo o resto é espetacular... quando vc quer trabalhar com querys e não utilizar os comandos RDD nativos para o DBF
![Wink ;)](./images/smilies/icon_wink.gif)
Peace and lighting!
Júlio César M. Ferreira
FWH 8.10 / xHB 1.1.0 / xDevStudio 0.72 / Pelles C 5.0.1 / SQLLIB 1.9
Júlio César M. Ferreira
FWH 8.10 / xHB 1.1.0 / xDevStudio 0.72 / Pelles C 5.0.1 / SQLLIB 1.9
JC wrote:Eder,
Isso mesmo! Agora vc pode ir "refazendo" a exibição do seu browse através da query de uma tabela, filtrando através da cláusula WHERE, dos parâmetros que vc desejar.
Mas realizar um "posicionamento" com dbseek() como no DBF, com esta versão da SQLLIB, não é possível!
Vc pode visualizar de forma diferente: Ao invés de posicionar o registro em, por exemplo, mil registros... vc vai diminuindo esse total, de acordo com o filtro feito pelo WHERE, para 100, para 20, para 5... até chegar ao desejado... ou vc ter a possibilidade de selecionar o registro antes mesmo.
O dbssek() necessita de um índice e essa versão da SQLLIB não suporta a criação de índices estilo DBF para a sua área aberta ;(
Fora esse detalhe, todo o resto é espetacular... quando vc quer trabalhar com querys e não utilizar os comandos RDD nativos para o DBF
Agora as coisas ficaram claras meu amigo JC, mas veja bem, se o dbseek() na LIB comercial faz isso , quer dizer que existe um jeito , um que nós mortais não sabemos hehee
té ++
Grande Marcelo,
Mete bronca meu amigo! Aí está uma coisa interessante... descobrindo, a gente divide!
Um detalhe aqui: o comando USE SQL da SQLLIB traduz para os dois comandos abaixo:
Tudo isso do xHarbour... talvez tenha tb, uma forma de criar índices para essa "área" aberta pela query!
Mete bronca meu amigo! Aí está uma coisa interessante... descobrindo, a gente divide!
Um detalhe aqui: o comando USE SQL da SQLLIB traduz para os dois comandos abaixo:
Code: Select all | Expand
sqlSetQuery( cInstrucaoSql, .F. )
dbUseArea( .T., sqlGetRddName( ::nConexao ), "*", nextQueryAlias( cAlias ), .T., .T.,, ::nConexao )
Tudo isso do xHarbour... talvez tenha tb, uma forma de criar índices para essa "área" aberta pela query!
Peace and lighting!
Júlio César M. Ferreira
FWH 8.10 / xHB 1.1.0 / xDevStudio 0.72 / Pelles C 5.0.1 / SQLLIB 1.9
Júlio César M. Ferreira
FWH 8.10 / xHB 1.1.0 / xDevStudio 0.72 / Pelles C 5.0.1 / SQLLIB 1.9