SQL /browse

SQL /browse

Postby EderXc » Fri Oct 24, 2008 7:55 pm

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

Postby JC » Fri Oct 24, 2008 8:05 pm

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

Postby EderXc » Fri Oct 24, 2008 8:23 pm

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

Postby EderXc » Mon Oct 27, 2008 9:54 am

ainda não resolvi :cry:
EderXc
 
Posts: 7
Joined: Fri Aug 08, 2008 10:32 pm

Postby JC » Mon Oct 27, 2008 11:19 am

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

Postby EderXc » Mon Oct 27, 2008 12:17 pm

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

Postby JC » Mon Oct 27, 2008 12:29 pm

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

Postby EderXc » Mon Oct 27, 2008 1:57 pm

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

Postby JC » Mon Oct 27, 2008 2:04 pm

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

Postby EderXc » Mon Oct 27, 2008 3:01 pm

haahahhaha , fechado !
EderXc
 
Posts: 7
Joined: Fri Aug 08, 2008 10:32 pm

Postby marca » Wed Oct 29, 2008 12:23 am

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
marca
 
Posts: 117
Joined: Mon Aug 13, 2007 5:22 pm
Location: Brazil

Postby JC » Wed Oct 29, 2008 2:05 am

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


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 39 guests