Clipper On Line • Ver Tópico - MySql: LibMySql x ADO.

MySql: LibMySql x ADO.

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

 

MySql: LibMySql x ADO.

Mensagempor Mario Mesquita » 19 Abr 2021 19:00

Boa noite, pessoal.

Valeu as dicas. Estou lendo o que posso pra ir entendendo. Baixei umas apostilas de MySql. Achei o help do ADO no site da Microsoft pra entender como funciona. Tem bastante coisa. Melhor ir vendo o feijão com arroz, senão dá pra se perder.

O que o Ramon colocou faz sentido, usar o ADO facilita trasportar o trato com a BD para outra plataforma se necessário. Sei que não é hora de pensar nisso,
mas sempre é bom levar em consideração.

A vantagem da LibMySql é entender mais rapidamente, por gerar um "recordset" em vetor, tá meio mastigado. Mas repetindo a pergunta: ela é usável em produção? Dá pra botar num servidor de cliente e mandar bala? Se sim, vale começar por ela pra ir se acostumando e depois, como disse o Quintas, ver o ADO também e ir se ambientando.

Vou ter muitas dúvidas, já estou tendo de como fazer isso numa rede, mas acho que é botar o carro na frente dos bois tb. Melhor focar na BD.

Vai dar trabalho mas é animador.

Saudações,
Mario.
Avatar de usuário

Mario Mesquita
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 557
Data de registro: 08 Dez 2009 12:47
Cidade/Estado: Rio de Janeiro
Curtiu: 73 vezes
Mens.Curtidas: 13 vezes

MySql: LibMySql x ADO.

Mensagempor Mario Mesquita » 22 Abr 2021 11:38

Bom dia a todos.

Nos meus testes, após conectar com o BD, testei se ele está lendo de fato e criei uma tabela simples manualmente.
Copiei a rotina que o Quintas adaptou pra ADO de uma feita pelo Itamar para SqlMix mas tive um problema:

Criei uma função "Testa_Tabelas()" ativada a partir do Main. Ele leu a tabela e exibiu os dados, felizmente.

A coisa estranha é que ele dá erro de compilação na instrução "Rs:Fields.Count". Não vai nem a pau. Mas lendo algo sobre o método,
está correto. Então não sei a causa de não compilar.

// Testa as tabelas da base de dados //

FUNCTION Testa_Tabelas()
LOCAL Rs

Rs := oConexao:Execute( "SELECT * FROM teste" )
msginfo( Rs:RecordCount() )
WHILE ! Rs:Eof()
   nFi := 2 //Rs:Fields.Count
   FOR nI = 1 TO nFi //Rs:Fields.Count
      msginfo( Rs:Fields( nI - 1 ):Value ) // A[ nl ] :=
   NEXT
   //msginfo( hb_ValToExp( al ) )
   Rs:MoveNext()
END

Rs:Close()
//oConexao:Close()

RETURN NIL


Se alguém tiver um palpite, agradeço a ajuda.

Saudações,
Mario.
Avatar de usuário

Mario Mesquita
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 557
Data de registro: 08 Dez 2009 12:47
Cidade/Estado: Rio de Janeiro
Curtiu: 73 vezes
Mens.Curtidas: 13 vezes

MySql: LibMySql x ADO.

Mensagempor Mario Mesquita » 27 Abr 2021 17:43

Boa noite a todos.

No post anterior, perguntei por quê não estava compilando o "Fields:Count". Na verdade é "Rs:Fields:Count()". Aí deu certo.

Peguei o exemplo mas como ele era pra ilustrar o tópico, estava faltando e como não tenho experiência, não detectei a falta dos "()".

Saudações,
Mario.
Avatar de usuário

Mario Mesquita
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 557
Data de registro: 08 Dez 2009 12:47
Cidade/Estado: Rio de Janeiro
Curtiu: 73 vezes
Mens.Curtidas: 13 vezes

MySql: LibMySql x ADO.

Mensagempor JoséQuintas » 27 Abr 2021 18:21

Mario Mesquita escreveu:No post anterior, perguntei por quê não estava compilando o "Fields:Count". Na verdade é "Rs:Fields:Count()". Aí deu certo.


Não tinha visto a mensagem.

Na verdade "." é nas outras linguagens, no Harbour é ":".

Em alguns casos, funciona com e sem parêntesis, então o problema maior era mesmo o "." não reconhecido pelo compilador.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

MySql: LibMySql x ADO.

Mensagempor Mario Mesquita » 27 Abr 2021 18:40

Oi, Quintas.

O "." eu saquei primeiro e troquei pra ":", mas acabou precisando do "()", também, pelo menos no HMG. Estava dando erro de compilação.

Começando, né? Ainda tô bem cru nisso aí, mas é um dia de cada vez...

Sds,
Mario.
Avatar de usuário

Mario Mesquita
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 557
Data de registro: 08 Dez 2009 12:47
Cidade/Estado: Rio de Janeiro
Curtiu: 73 vezes
Mens.Curtidas: 13 vezes

Anterior



Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro