Clipper On Line • Ver Tópico - Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?
Página 1 de 3

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 17 Jul 2019 16:54
por claudiochaves
Ola, gostaria de saber se alguém esta usando sqlqrdd com xharbour free versao 1.2.3 e hwgui. Estou precisando saltar do xhb 1.0.0 para uma versao mais nova, mas perguntando no forum do xhb comercial, disseram que sqlrdd não funciona mais com xharbour free.

Obrigado, abraços

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 17 Jul 2019 19:42
por JoséQuintas
Pois é... produto pago é isso.

Opções:

1. Comprar outra versão de XHarbour

2. Já que é pra migrar, adote Harbour e use algumas das alternativas, talvez SQLMIX, confirme, conforme o banco de dados que vai usar.

3. Outro produto pago - também existem opções.

4. Se não tiver que ficar preso ao mesmo banco de dados, também há mais opções

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 18 Jul 2019 10:25
por claudiochaves
Eu entendo, até pensei no Harbour. Mas encontrei dificuldades para criar o ambiente de trabalho, configurar compilação, baixar o que precisa, vou tentar achar aqui no fórum o caminho das pedras. Estou usando a hwgui e este me parece ser outro problema com a questão de compatibilidade . Enfim, vou ter que procurar outra soluções.

Obrigado, abraços

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 23 Jul 2019 12:18
por Itamar M. Lins Jr.
Ola!
Mas encontrei dificuldades para criar o ambiente de trabalho, configurar compilação, baixar o que precisa, vou tentar achar aqui no fórum o caminho das pedras. Estou usando a hwgui e este me parece ser outro problema com a questão de compatibilidade . Enfim, vou ter que procurar outra soluções.


Pergunta ai sobre essas dificuldades, para ver se podemos ajudar.
Harbour = liberdade até para não usar ele pois usa padrões abertos ! Hwgui IDEM., = futuro aberto para qualquer tecnologia!

XHb + SQLRDD = futuro incerto, tecnologia fechada.

Saudações,
Itamar M. Lins Jr.

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 23 Jul 2019 12:48
por asimoes
JoséQuintas escreveu:Eu entendo, até pensei no Harbour.


Pensa maior, pensa C#

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 23 Jul 2019 22:20
por sygecom
Eu uso, roda bem.
Uso Bcc72

Quais suas dúvidas?

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 24 Jul 2019 16:35
por claudiochaves
Itamar M. Lins Jr. escreveu:Ola!
Mas encontrei dificuldades para criar o ambiente de trabalho, configurar compilação, baixar o que precisa, vou tentar achar aqui no fórum o caminho das pedras. Estou usando a hwgui e este me parece ser outro problema com a questão de compatibilidade . Enfim, vou ter que procurar outra soluções.


Pergunta ai sobre essas dificuldades, para ver se podemos ajudar.
Harbour = liberdade até para não usar ele pois usa padrões abertos ! Hwgui IDEM., = futuro aberto para qualquer tecnologia!

XHb + SQLRDD = futuro incerto, tecnologia fechada.

Saudações,
Itamar M. Lins Jr.


Ola Itamar, as dificuldades foram por onde começar, aonde baixar e como fazer a instalação, até pensei em usar uma maquina limpa para brincar com ele. Estou procurando no forum um passo a passo que me auxilie.

Obrigado, abraços

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 24 Jul 2019 16:37
por claudiochaves
asimoes escreveu:
JoséQuintas escreveu:Eu entendo, até pensei no Harbour.


Pensa maior, pensa C#


Ola, até pensei em Microsoft, mas como ainda tenho dbf fica meio dificil, tenho que fazer um meio de campo para depois alçar voo .

Obrigado, abraços

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 24 Jul 2019 16:42
por claudiochaves
sygecom escreveu:Eu uso, roda bem.
Uso Bcc72

Quais suas dúvidas?


Ola, eu até mandei um email para você pois vi aqui no forum que você usa. Entrei no grupo do sqlrdd e o Patrick disse que sqlrdd só para xhb comercial. Minha dúvida é como você conseguiu esta versão que roda com o xhb.org 1.2.3 , pode me ajudar ?

Obrigado, abraços

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 24 Jul 2019 18:41
por pauloa1
Eu uso com xhb.org 1.2.3 .

Talvez eles mudaram alguma coisa na última versão.

Paulo

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 24 Jul 2019 19:17
por claudiochaves
pauloa1 escreveu:Eu uso com xhb.org 1.2.3 .

Talvez eles mudaram alguma coisa na última versão.

Paulo


Ola Paulo, sua versão foi adquirida quando?

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 24 Jul 2019 21:24
por sygecom
claudiochaves escreveu:
sygecom escreveu:Eu uso, roda bem.
Uso Bcc72

Quais suas dúvidas?


Ola, eu até mandei um email para você pois vi aqui no forum que você usa. Entrei no grupo do sqlrdd e o Patrick disse que sqlrdd só para xhb comercial. Minha dúvida é como você conseguiu esta versão que roda com o xhb.org 1.2.3 , pode me ajudar ?

Obrigado, abraços


Claudio,
Desculpa, mas não vi o e-mail, foi pro Spam ou algo assim, não tenho nada recebido.

Essa versão eu comprei do SQLRDD mesmo, eles vendiam na época e funciona até hoje, foi adquirida faz tempo, talvez o Luiz Culik, tenha a versão para xharbour free para vender, acredito que ele seja uns dos detentores da LIB.

Você já comprou alguma versão qualquer do SQLRDD ou ainda nada ?

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 25 Jul 2019 09:48
por claudiochaves
sygecom escreveu:
claudiochaves escreveu:
sygecom escreveu:Eu uso, roda bem.
Uso Bcc72

Quais suas dúvidas?


Ola, eu até mandei um email para você pois vi aqui no forum que você usa. Entrei no grupo do sqlrdd e o Patrick disse que sqlrdd só para xhb comercial. Minha dúvida é como você conseguiu esta versão que roda com o xhb.org 1.2.3 , pode me ajudar ?

Obrigado, abraços


Claudio,
Desculpa, mas não vi o e-mail, foi pro Spam ou algo assim, não tenho nada recebido.

Essa versão eu comprei do SQLRDD mesmo, eles vendiam na época e funciona até hoje, foi adquirida faz tempo, talvez o Luiz Culik, tenha a versão para xharbour free para vender, acredito que ele seja uns dos detentores da LIB.

Você já comprou alguma versão qualquer do SQLRDD ou ainda nada ?


Oi Leonardo, tranquilo, acontece.
Estou tentando falar com o Luiz Culik desde segunda, mas ainda não tive sucesso para resolver isto. Te add no skype para conversar, abraços

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 31 Jul 2019 11:37
por claudiochaves
Pessoal agradeço a todos, já consegui falar com o Luiz. Agora vou trabalhar com atualizar minhas lib´s, hwgui , etc e avançar. Abraços e obrigado.

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 01 Ago 2019 15:58
por pauloa1
Claudio!

Já te adianto que se usar BD e continuar usando comandos como seek, replace etc... algumas rotinas vão ficar ainda mais lentas.
Aos poucos você deve ir mudando pra comandos em SQL.
Mas depois de conseguir isso, o salto em velocidade etc.. é gigante.

Paulo

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 13 Ago 2019 13:53
por claudiochaves
pauloa1 escreveu:Claudio!

Já te adianto que se usar BD e continuar usando comandos como seek, replace etc... algumas rotinas vão ficar ainda mais lentas.
Aos poucos você deve ir mudando pra comandos em SQL.
Mas depois de conseguir isso, o salto em velocidade etc.. é gigante.

Paulo


Oi Paulo, com certeza. Tem que mudar a mentalidade, dbf é de um jeito sql é outro. Minha maior duvida com relação a isto são os procedimentos de multiplos registros, ainda não sei como farei. Tenho rotinas de calculo que pego um registro, faço o calculo e em seguida o replace. Terei que estudar como fazer via update, mas tudo na vida tem solução. Eu chego lá.

Obrigado pela dica, grande abraço

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 19 Ago 2019 19:16
por sygecom
Claudio,
A primeira atitude de mudar para SQL já está ótimo, com o tempo vai ver que foi uma ótima escolha, mesmo com algumas complexidade com você citou.

Qualquer coisa posta como usa em DBF que tentamos ajudar transformando em SQL.

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 10:33
por claudiochaves
Obrigado Leonardo, vou postar sim. Estou tendo que fazer uns ajustes no meus códigos para ficar mais "clean", assim que melhorar eles peço ajuda. abraços

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 12:54
por JoséQuintas
Só lembrando:

Usar DBF fica preso à RDD em uso: DBF/NTX, DBF/CDX, SIX/CDX, software simultâneo, etc.

Usar por comandos SQL não fica preso a nada.
Pode executar comandos SQL no mesmo aplicativo usando SQLRDD ou outra LIB/componente.
Isso permite uma migração de qualquer parte do aplicativo a qualquer momento.

Lógico... o pessoal pode conseguir complicar e impedir isso... nunca se sabe.

Mas o fato de poder fazer parcialmente pode facilitar muito a migração.

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 13:26
por alaminojunior
JoséQuintas escreveu:Mas o fato de poder fazer parcialmente pode facilitar muito a migração.


Esse foi O motivo de ter aderido ao SQLRDD, que aliás devo muito ao Leonardo Sygecom.
Uso até hoje, pois certas partes do sistema ainda usam a boa e velha sintaxe DBF.
No nosso carro chefe aqui 90% usa as funções SQLRDD para acesso ao banco e o restante ainda está em comandos e funções DBF.
Nesse caso, necessita de alguns cuidados, mas tudo muito tranquilo.

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 13:58
por JoséQuintas
alaminojunior escreveu:Esse foi O motivo de ter aderido ao SQLRDD, que aliás devo muito ao Leonardo Sygecom.Uso até hoje, pois certas partes do sistema ainda usam a boa e velha sintaxe DBF.


Não entendeu. Estou dizendo sobre a migração pra SAIR do SQLRDD, e não sobre a migração pra entrar nele.
Se apenas executa comandos SQL, tanto faz a RDD.

Aqui gostei da gravação dupla DBF+MySQL - tem pouco fonte que grava, e muito fonte que faz leitura.
Altera-se rápido pra gravar, e depois é só ir eliminando leitura de DBF.
Para os poucos usados, altera direto pra MySQL e pronto.

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 14:51
por claudiochaves
Ola Amigos,

Estou fazendo isto, migrando aos poucos para sql, assim ganho outros recursos e integrações.
Tenho por exemplo este codigo:

select("TABOLE")
SEEK REFERE->CODIGO
WHILE ! EOF()
   IF TABOLE->REFERENCIA=REFERE->CODIGO            
      SELECT("TASITP")
      SEEK TABOLE->SIT_AR
      IF ! EOF()
         IF TASITP->CALCULO$"XS"
            SELECT("TAMATR")
            SEEK STR(TABOLE->ALUNO,6)+TABOLE->REFERENCIA+STR(TABOLE->ITEM,3)
            IF ! EOF()
               SELECT("TASIF")
               SEEK TAMATR->SIT_FIN
               IF TASIF->ESCOLHE="S"
                  SELECT("TAVAG")
                  SEEK TAMATR->REFERENCIA+TAMATR->PCS+TAMATR->TURMA+TAMATR->GRAU
                  IF TAVAG->ESCOLHE="S"
                     SELECT("TABOLE")
                     REGLOCK()
                     ********
                     IF TASITP->CALCULO="S"
                        SEEK "TACAR" , REFERE->CODIGO+TAMATR->PCS+TAMATR->TURMA+TAMATR->GRAU+STR(TABOLE->DISCIPLINA,3)
                        IF ! EOF()   
                           SELECT("TABOLE")
                           *' Calculo 1
                              IF TACAR->R_NOTA = "S"
                                 _DIV := 3
                                 VR_SOMA:=MH(TABOLE->N_1)+MH(TABOLE->N_2)+MH(TABOLE->N_3)+MH(TABOLE->N_4)
                                 TABOLE->MEDIA_AR:=AR14B_NOTA( STR( CHK_DIV( VR_SOMA , _DIV ) ,5,2 ) )
                                 IF VAL(TABOLE->MEDIA_AR) > 5.9
                                    TABOLE->SIT_AR := "1"
                                 ELSE
                                    TABOLE->SIT_AR := "2"
                                 ENDIF
                              ENDIF            
                           *' Calculo 2
                              IF TACAR->R_FALTA = "S"
                                 TABOLE->F_T := STR(MH(TABOLE->F_1)+MH(TABOLE->F_2)+MH(TABOLE->F_3)+MH(TABOLE->F_4),3)
                                 VR_FREQ := VAL(TABOLE->F_T)*100
                                 IF VR_FREQ <> 0
                                    IF ( 100 - CHK_DIV(VR_FREQ,TACAR->TACAR) )>0
                                       TABOLE->FREQ:=100 - ( CHK_DIV( VR_FREQ,TACAR->TACAR) )
                                    ELSE
                                       TABOLE->FREQ:=0.00
                                    ENDIF
                                 ELSE
                                    TABOLE->FREQ:=100.00
                                 ENDIF
                                 if TABOLE->FREQ >= 75
                                    IF TABOLE->SIT_AR <> "2"
                                       TABOLE->SIT_AR := "1"
                                    ENDIF
                                 Else
                                    TABOLE->SIT_AR := "2"
                                 Endif
                              ENDIF
                              TABOLE->SIT_PR:=TABOLE->SIT_AR
                        ENDIF   
                     ELSE
                        IF MH(TABOLE->REC) > MH(TABOLE->MEDIA_AR)
                           TABOLE->MEDIA_PR := TABOLE->REC
                        ELSE
                           TABOLE->MEDIA_PR := TABOLE->MEDIA_AR
                        ENDIF
                        IF VAL(TABOLE->MEDIA_PR) > 5.9
                           TABOLE->SIT_PR := "1"
                        ELSE
                           TABOLE->SIT_PR := "3"
                        ENDIF
                     ENDIF
                     SELECT("TABOLE")
                     UNLOCK
                  ENDIF
               ENDIF
            ENDIF
         ENDIF
      ENDIF
   ENDIF
   SELECT("TABOLE")
   SKIP+1
ENDDO


No caso percorro cada registro da TABOLE, e localizo em outras tabelas os registros que contem as informações para então voltar para TABOLE e fazer as contas.
Se fosse em sql, para fazer um update na minha tabela TABOLE ela teria que conter os dados das outras tabelas ou seria tudo feito usando do inner join?

Agradeço as dicas para entendimento do melhor rumo, abraços.

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 15:30
por JoséQuintas
Codigozinho do carvalho.... rs
Primeiro é reduzir esse fonte que tem muito fonte, e perde tempo à toa.

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 15:39
por JoséQuintas
Assim fica mais visível o que está atualizando, apesar de ter mais fonte:

select("TABOLE")
SEEK REFERE->CODIGO
DO WHILE TABOLE->REFERENCIA=REFERE->CODIGO .AND. ! Eof()
   SELECT("TASITP")
   SEEK TABOLE->SIT_AR
   IF Eof()
      SELECT tabole
      SKIP
      LOOP
   ENDIF
   IF ! TASITP->CALCULO$"XS"
      SELECT tabole
      SKIP
      LOOP
   ENDIF
   SELECT("TAMATR")
   SEEK Str(TABOLE->ALUNO,6)+TABOLE->REFERENCIA+STR(TABOLE->ITEM,3)
   IF Eof()
      SELECT tabole
      SKIP
      LOOP
   ENDIF
   SELECT("TASIF")
   SEEK TAMATR->SIT_FIN
   IF ! TASIF->ESCOLHE="S"
      SELECT tabole
      SKIP
      LOOP
   ENDIF
   SELECT("TAVAG")
   SEEK TAMATR->REFERENCIA+TAMATR->PCS+TAMATR->TURMA+TAMATR->GRAU
   IF ! TAVAG->ESCOLHE="S"
      SELECT tabole
      SKIP
      LOOP
   ENDIF
   SELECT("TABOLE")
   REGLOCK()
   IF TASITP->CALCULO="S"
      SEEK "TACAR" , REFERE->CODIGO+TAMATR->PCS+TAMATR->TURMA+TAMATR->GRAU+STR(TABOLE->DISCIPLINA,3)
      IF ! Eof()
         SELECT("TABOLE")
         *' Calculo 1
         IF TACAR->R_NOTA = "S"
            _DIV := 3
            VR_SOMA:=MH(TABOLE->N_1)+MH(TABOLE->N_2)+MH(TABOLE->N_3)+MH(TABOLE->N_4)
            TABOLE->MEDIA_AR:=AR14B_NOTA( Str( CHK_DIV( VR_SOMA , _DIV ) ,5,2 ) )
            IF Val(TABOLE->MEDIA_AR) > 5.9
               TABOLE->SIT_AR := "1"
            ELSE
               TABOLE->SIT_AR := "2"
            ENDIF
         ENDIF
         *' Calculo 2
         IF TACAR->R_FALTA = "S"
            TABOLE->F_T := Str(MH(TABOLE->F_1)+MH(TABOLE->F_2)+MH(TABOLE->F_3)+MH(TABOLE->F_4),3)
            VR_FREQ := Val(TABOLE->F_T)*100
            IF VR_FREQ <> 0
               IF ( 100 - CHK_DIV(VR_FREQ,TACAR->TACAR) )>0
                  TABOLE->FREQ:=100 - ( CHK_DIV( VR_FREQ,TACAR->TACAR) )
               ELSE
                  TABOLE->FREQ:=0.00
               ENDIF
            ELSE
               TABOLE->FREQ:=100.00
            ENDIF
            IF TABOLE->FREQ >= 75
               IF TABOLE->SIT_AR <> "2"
                  TABOLE->SIT_AR := "1"
               ENDIF
            ELSE
               TABOLE->SIT_AR := "2"
            ENDIF
         ENDIF
         TABOLE->SIT_PR:=TABOLE->SIT_AR
      ENDIF
   ELSE
      IF MH(TABOLE->REC) > MH(TABOLE->MEDIA_AR)
         TABOLE->MEDIA_PR := TABOLE->REC
      ELSE
         TABOLE->MEDIA_PR := TABOLE->MEDIA_AR
      ENDIF
      IF Val(TABOLE->MEDIA_PR) > 5.9
         TABOLE->SIT_PR := "1"
      ELSE
         TABOLE->SIT_PR := "3"
      ENDIF
   ENDIF
   SELECT("TABOLE")
   UNLOCK
   SELECT("TABOLE")
   SKIP
ENDDO


Apesar que chega nesta parte e..... algo estranho aparece...

SEEK "TACAR" , REFERE->CODIGO+TAMATR->PCS+TAMATR->TURMA+TAMATR->GRAU+STR(TABOLE->DISCIPLINA,3)

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 16:02
por JoséQuintas
Em último caso, elimina arquivos abertos, pega o que interessa, e faz o update de cada campo....
Faltam informações, além do troço ser doido.


SELECT
ALUNO, REFERENCIA, ITEM, DISCIPLINA, N_1, N_2, N_3, N_4, MEDIA_AR, MEDIA_PR,
SIT_AR, F_1, F_2, F_3, F_4, REC, F_T, FREQ
TASITP.CALCULO AS TASITP_CALCULO,
TAMATR.SIT_FIN AS TAMATR_SITFIN,
TASIF.ESCOLHE AS TASIF_ESCOLHE,
TAVAG.ESCOLHE AS TAVAG_ESCOLHE
FROM TABOLE
INNER JOIN TASITP ON TABOLE.SIT_AR = TAITP.???
INNER JOIN TAMATR ON TABOLE.ALUNO = TAMATR.??? AND TABOLE.REFERENCIA = TAMATR.??? AND TABOLE.ITEM = TAMATR.???
INNER JOIN TASIF ON TAMATR.SIT_FIN=TASIF.???
INNER JOIN TAVAG ON TAMATR.REFERENCIA = TAVAG.??? AND TAMATR.PCS=TAVAG.??? AND TAMATR.TURMA=TAVAG.??? AND TAMATR.GRAU=TAVAG.???
WHERE
TASITP.CALCULO IN ( 'X', 'S' )
AND TASIF.ESCOLHE = 'S'
AND TAVAG.ESCOLHE = 'S'

DO WHILE ! Eof()
   REGLOCK()
   IF TASITP_CALCULO="S"
      SEEK "TACAR" , REFERE->CODIGO+TAMATR->PCS+TAMATR->TURMA+TAMATR->GRAU+STR(TABOLE->DISCIPLINA,3)
      IF ! Eof()
         SELECT("TABOLE")
         *' Calculo 1
         IF TACAR->R_NOTA = "S"
            _DIV := 3
            VR_SOMA:=MH(TABOLE->N_1)+MH(TABOLE->N_2)+MH(TABOLE->N_3)+MH(TABOLE->N_4)
            TABOLE->MEDIA_AR:=AR14B_NOTA( Str( CHK_DIV( VR_SOMA , _DIV ) ,5,2 ) )
            IF Val(TABOLE->MEDIA_AR) > 5.9
               TABOLE->SIT_AR := "1"
            ELSE
               TABOLE->SIT_AR := "2"
            ENDIF
         ENDIF
         *' Calculo 2
         IF TACAR->R_FALTA = "S"
            TABOLE->F_T := Str(MH(TABOLE->F_1)+MH(TABOLE->F_2)+MH(TABOLE->F_3)+MH(TABOLE->F_4),3)
            VR_FREQ := Val(TABOLE->F_T)*100
            IF VR_FREQ <> 0
               IF ( 100 - CHK_DIV(VR_FREQ,TACAR->TACAR) )>0
                  TABOLE->FREQ:=100 - ( CHK_DIV( VR_FREQ,TACAR->TACAR) )
               ELSE
                  TABOLE->FREQ:=0.00
               ENDIF
            ELSE
               TABOLE->FREQ:=100.00
            ENDIF
            IF TABOLE->FREQ >= 75
               IF TABOLE->SIT_AR <> "2"
                  TABOLE->SIT_AR := "1"
               ENDIF
            ELSE
               TABOLE->SIT_AR := "2"
            ENDIF
         ENDIF
         TABOLE->SIT_PR:=TABOLE->SIT_AR
      ENDIF
   ELSE
      IF MH(TABOLE->REC) > MH(TABOLE->MEDIA_AR)
         TABOLE->MEDIA_PR := TABOLE->REC
      ELSE
         TABOLE->MEDIA_PR := TABOLE->MEDIA_AR
      ENDIF
      IF Val(TABOLE->MEDIA_PR) > 5.9
         TABOLE->SIT_PR := "1"
      ELSE
         TABOLE->SIT_PR := "3"
      ENDIF
   ENDIF
  MoveNext()
ENDDO

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 16:37
por claudiochaves
Ola Quintas,

Obrigado pela contribuição. Eu fiz daquela forma para poupar codigo, é bom saber que poupar codigo nem sempre poupa processamento. Vou implementar algumas mudanças.

O código é bem antigo, da epóca do carvalho....kkkkk

Aquele trecho que pareceu estranho, o código esta copiado errado, trecho é assim:

Select("TACAR" )
seek REFERE->CODIGO+TAMATR->PCS+TAMATR->TURMA+TAMATR->GRAU+STR(TABOLE->DISCIPLINA,3)

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 16:47
por claudiochaves
Ola,

Estava vendo a sugestão do Quintas, vou precisar mudar o conceito no caso desta rotina e de outras que tenho.
Com o dbf a consulta e update podem ser concomitantes. No caso em SQL, primeiro terei de carregar o que vou trabalhar e depois fazer um update.
Já percebi que tenho que analisar cada rotina para migrar para uso do SQL.

Agradeço a ajuda, abraços

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 16:57
por JoséQuintas
claudiochaves escreveu:Obrigado pela contribuição. Eu fiz daquela forma para poupar codigo, é bom saber que poupar codigo nem sempre poupa processamento


Não é questão de processamento.
No editor de texto, pra cada IF gigante... precisa às vezes ficar paginando fonte pra encontrar o ELSE ou ENDIF.
Com a alteração, no IF pequeno já fica visível que tem registro sendo pulado.

Se vai demorar mais ou não... isso nem importa...
É importante o fonte ficar fácil pra fazer manutenção.
Até pra converter pra comando SQL... acaba facilitando também..

claudiochaves escreveu:Estava vendo a sugestão do Quintas, vou precisar mudar o conceito no caso desta rotina e de outras que tenho.
Com o dbf a consulta e update podem ser concomitantes. No caso em SQL, primeiro terei de carregar o que vou trabalhar e depois fazer um update.
Já percebi que tenho que analisar cada rotina para migrar para uso do SQL.


Pra cada situação uma solução.
Começa reduzindo pra comando SQL, e com o tempo talvez até encontre uma forma de atualizar tudo num único comando.

Lembrando:
Ainda sou principiante, estou começando a usar esse "algo mais". provavelmente dá pra criar uma função ou algo parecido pra fazer essa atualização num único comando.
Vou pesquisando conforme preciso de algum "algo mais".
E por enquanto, como estou na gravação duplicada de DBF+MySQL, mais limitado.

Importante:
Mesmo que esse SELECT esteja pegando informações de várias tabelas, vai ser muuuuuuito mais rápido do que trabalhar com DBF.
No DBF, vai trabalhar com a ficha COMPLETA do aluno, enquanto nesse comando vai usar somente os campos que interessam.
Isso faz muuuuuuita diferença na rede, por isso é mais rápido do que trabalhar registro a registro com DBF.
Se considerar que nem precisa dos nomes dos alunos, endereço, etc.... só esses campos a menos já vai dar alguns megabytes de informação a menos pela rede.
E junte a isso os registros que estão sendo filtrados... menos informação ainda do que em DBF.

É nisso que vai começar a enxergar a vantagem do SQL !!!

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 17:15
por JoséQuintas
claudiochaves escreveu:No caso em SQL, primeiro terei de carregar o que vou trabalhar e depois fazer um update


Não.
Pode usar um comando pra atualizar direto, sempre que necessário.
Também pode criar funções NO MYSQL, junto ao banco de dados, e usar nos comandos.

É que sua rotina é muito específica, cabe a você quebrar a cabeça pra encontrar a melhor saída.
Pode fazer essa como quebra-galho, até encontrar a que atualize tudo de uma vez pelo próprio comando.
Conforme for aprendendo mais, vai revisando o que fez antes.

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 17:19
por claudiochaves
JoséQuintas escreveu:Não é questão de processamento.
No editor de texto, pra cada IF gigante... precisa às vezes ficar paginando fonte pra encontrar o ELSE ou ENDIF.
Com a alteração, no IF pequeno já fica visível que tem registro sendo pulado.

Se vai demorar mais ou não... isso nem importa...
É importante o fonte ficar fácil pra fazer manutenção.
Até pra converter pra comando SQL... acaba facilitando também..


Grande verdade, manutenção fica horrível mesmo. Agora que uso o notepad++ facilitou , mas antes era dificil.

JoséQuintas escreveu:Pra cada situação uma solução.
Começa reduzindo pra comando SQL, e com o tempo talvez até encontre uma forma de atualizar tudo num único comando.

Lembrando:
Ainda sou principiante, estou começando a usar esse "algo mais". provavelmente dá pra criar uma função ou algo parecido pra fazer essa atualização num único comando.
Vou pesquisando conforme preciso de algum "algo mais".
E por enquanto, como estou na gravação duplicada de DBF+MySQL, mais limitado.

Importante:
Mesmo que esse SELECT esteja pegando informações de várias tabelas, vai ser muuuuuuito mais rápido do que trabalhar com DBF.
No DBF, vai trabalhar com a ficha COMPLETA do aluno, enquanto nesse comando vai usar somente os campos que interessam.
Isso faz muuuuuuita diferença na rede, por isso é mais rápido do que trabalhar registro a registro com DBF.
Se considerar que nem precisa dos nomes dos alunos, endereço, etc.... só esses campos a menos já vai dar alguns megabytes de informação a menos pela rede.
E junte a isso os registros que estão sendo filtrados... menos informação ainda do que em DBF.

É nisso que vai começar a enxergar a vantagem do SQL !!!


Não tinha pensado nestes pontos. Como é importante esta troca de experiencias. Realmente trafegar somente as colunas que interessam diminui consumo e ganha velocidade de processamento.
Algumas tabelas que não sofrem mudanças, servem somente para consulta, eu faço um cache local e gerencio este cache, renovando quando tem alteração. Com este recurso ganhei muita performance.

Alguém usa SQLRDD com Xharbour 1.2.3 free com sucesso?

MensagemEnviado: 09 Dez 2019 17:34
por JoséQuintas
claudiochaves escreveu:Algumas tabelas que não sofrem mudanças, servem somente para consulta, eu faço um cache local e gerencio este cache, renovando quando tem alteração. Com este recurso ganhei muita performance.


É um bom teste:
Ao invés do cache, pegue sempre mas somente os campos que precisa.
Qual o tamanho desses caches? 100MB? em uma rede de 100MB... deve ser menos de 1 segundo, porque o SQL compacta, elimina espaços em branco, filtra, trás só os campos que precisa, etc.

Além de menos informação, o conector faz compactação dos dados, e aproveita a velocidade da rede ao máximo, coisa que no DBF é impossível.

Um teste radical pra comparação é o seguinte: REDE SEM FIO

O DBF se acaba na rede sem fio, por trabalhar registro a registro.
Para o SQL... velocidade máxima.