Dados da estrutura do MYSQL

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Dados da estrutura do MYSQL

Mensagem por Poka »

Bom dia

Uso LIBMYSQL.DLL

precisaria pegar o tamanho e as decimais

Código: Selecionar todos

   FOR i := 1 TO oQuery:FCount()
      aFields[ i ] := oQuery:FieldName( i )   // nome do campo
      aTypes[ i ] := oQuery:FieldType( i )    // tipo de campo 
      aNames[ i ] := oQuery:FieldGet( i )  //   conteudo do campo

      atam[ i ] := oQuery:Fieldsize( i ) //  nao deu certo
						decimais ????

   NEXT


se alguém puder ajudar agradeço.

Poka
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Dados da estrutura do MYSQL

Mensagem por JoséQuintas »

Isso é complicado.
Tenho um quebra-galho em ADO pra isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Dados da estrutura do MYSQL

Mensagem por Toledo »

Amigo, tente o seguinte:

Código: Selecionar todos

atam[ i ] := oQuery:FieldLen( i )
aDec[ i ] := oQuery:FieldDec( i )
Abraços
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Dados da estrutura do MYSQL

Mensagem por Poka »

Quintas, Toledo. Obrigado por responder.

Toledo, deu certo. Obrigado

Poka
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Dados da estrutura do MYSQL

Mensagem por asimoes »

Não sei se atende:

Código: Selecionar todos

       nTipo := cRecordSet:Fields( i ):Type
       nTam  := cRecordSet:Fields( i ):DefinedSize
       nTamN := cRecordSet:Fields( i ):Precision
       nDec  := cRecordSet:Fields( i ):NumericScale
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Dados da estrutura do MYSQL

Mensagem por Cavalo Marinho »

Boa noite Poka
Nao consigo pegar a estrutura do banco mysql/mariadb, poderia passar a query que você escreveu como exemplo, estou iniciando no mariadb/mysql e tenho umas dificuldades tecnicas.
Agradeço.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Dados da estrutura do MYSQL

Mensagem por JoséQuintas »

Fica tudo em tabelas.
Só olhar pelo HEIDISQL e vai ver os nomes das tabelas e dos campos, e índices, e etc.
É no banco: information_schema
Dá uma passeada pelas tabelas, pra ver cada uma, e o que pode consultar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
Cavalo Marinho
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 01 Ago 2009 10:01
Localização: Aracaju/Se

Dados da estrutura do MYSQL

Mensagem por Cavalo Marinho »

Boa tarde
Quntas talvez eu nao tenha me expressado direito, quanto as tabelas pelo heidsql eu sei como utilizar, eu me refiro a obter os tamanhos e tipos dos campos das tabelas pelo aplicativo, pois utilizo o getbox e tenho que definir o tamanho para edição, eu automatizo pegando os tamanhos (isso em Dbf) pq se alterar a tabela ja tenho alterado automaticamente.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Dados da estrutura do MYSQL

Mensagem por JoséQuintas »

Aí está diretamente relacionado com o que usa pra conectar: hbmysql, sqlmix, ADO, etc.
Eu preferi não deixar o browse preso a isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
Poka
Usuário Nível 4
Usuário Nível 4
Mensagens: 563
Registrado em: 25 Out 2004 21:26
Localização: Leme/SP

Dados da estrutura do MYSQL

Mensagem por Poka »

Boa tarde

Asimoes, vou testar o seu , parece ter alguma coisa a mais.

José Quintas disse
Só olhar pelo HEIDISQL e vai ver os nomes das tabelas e dos campos, e índices, e etc.
Nunca usei, mas eu precisava fazer no sistema tudo integrado. Um médico pediu um sistema à parte e o sistema dele é MYSQL.
Todo dia tem que atualizar a base de dados do paciente.
Deu tudo certo

Cavalo Marinho disse
Nao consigo pegar a estrutura do banco mysql/mariadb, poderia passar a query que você escreveu como exemplo, estou iniciando no mariadb/mysql e tenho umas dificuldades tecnicas.
Peguei os exemplos do mysql que esta em minigui\harbour, fiz umas alterações e funcionou perfeito.
Não uso MYSQL, estou usando Firebird + harbour + minigui extend
Vou criar um executável aqui pra vc testar aí.
Infelizmente não sei se poderei passar essa semana. mas a semana que vem passo sem falta.

Abraço

Poka
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Dados da estrutura do MYSQL

Mensagem por JoséQuintas »

Ah.... tem mais opções....
No caso do ADO, algumas LIBs tem ADORDD, que transforma o acesso ao recordset igual a DBF.

Eu preferi de outro jeito.
Apenas pra facilitar o entendimento:
Vamos imaginar que o browse só vai fazer string... aí ele sempre sabe o tamanho certo.
Então, ao invés de passar pro browse os campos diretamente, passe já transformados.
Ao invés do browse fazer data, número e texto, ele pode fazer Dtoc( Data ), Str( numero, 10, 2 ) e texto
Apenas ao invés de definir a coluna como sendo o campo pro browse converter, você já passa convertido do jeito que quiser.
Acaba sendo simples e prático, e atende dbf, array, e qualquer outra coisa, além de acabar dando mais recursos de uso, porque pode ter campos diferentes do que está no browse, por exemplo ter a ID do registro, sem ter que mostrar no browse.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder