SQL /browse

Post Reply
EderXc
Posts: 7
Joined: Fri Aug 08, 2008 10:32 pm

SQL /browse

Post by EderXc »

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é ++
User avatar
JC
Posts: 445
Joined: Thu Feb 21, 2008 11:58 am
Location: Brazil
Contact:

Post by JC »

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.
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
EderXc
Posts: 7
Joined: Fri Aug 08, 2008 10:32 pm

Post by EderXc »

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é++
EderXc
Posts: 7
Joined: Fri Aug 08, 2008 10:32 pm

Post by EderXc »

ainda não resolvi :cry:
User avatar
JC
Posts: 445
Joined: Thu Feb 21, 2008 11:58 am
Location: Brazil
Contact:

Post by JC »

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.
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
EderXc
Posts: 7
Joined: Fri Aug 08, 2008 10:32 pm

Post by EderXc »

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 ?
User avatar
JC
Posts: 445
Joined: Thu Feb 21, 2008 11:58 am
Location: Brazil
Contact:

Post by JC »

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 ;)
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
EderXc
Posts: 7
Joined: Fri Aug 08, 2008 10:32 pm

Post by EderXc »

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é ++
User avatar
JC
Posts: 445
Joined: Thu Feb 21, 2008 11:58 am
Location: Brazil
Contact:

Post by JC »

É verdade Eder,

Existe sim um jeito... é só descobrimos! hehehe

A gente combina assim: Quem descobrir primeiro, conta ao outro!
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
EderXc
Posts: 7
Joined: Fri Aug 08, 2008 10:32 pm

Post by EderXc »

haahahhaha , fechado !
marca
Posts: 104
Joined: Mon Aug 13, 2007 5:22 pm
Location: Brazil
Contact:

Post by marca »

Opa

Não querendo me intrometer mas ja me intrometendo rssss
posso me unir a vcs nesta empreitada ???? hahaha
Marcelo Ferro da Silveira
Fwh14.04/xHarbour 1.2.3 Simplex / Bcc582 / Pelles 8
SqlLib /xMate/WS
User avatar
JC
Posts: 445
Joined: Thu Feb 21, 2008 11:58 am
Location: Brazil
Contact:

Post by JC »

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:

Code: Select all

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
Post Reply