HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ......

31
Biblioteca do Programador Harbour HBMYSQL Guia de referência Versão 2010.08.06 Marcos Antonio Gambeta

Transcript of HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ......

Page 1: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

Biblioteca do Programador Harbour

HBMYSQLGuia de referência

Versão2010.08.06

Marcos Antonio Gambeta

Page 2: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

SumárioLicença.................................................................................................................................................4Donativos..............................................................................................................................................4Contato.................................................................................................................................................4Coleção.................................................................................................................................................4Introdução.............................................................................................................................................5Exemplos..............................................................................................................................................6

Usando as classes.............................................................................................................................6Conectando com o servidor.........................................................................................................6Selecionando um banco de dados...............................................................................................6Criando uma tabela.....................................................................................................................6Apagando uma tabela..................................................................................................................6Executando uma consulta............................................................................................................6Encerrando a conexão com o servidor........................................................................................7Verificando a conexão.................................................................................................................7

Usando as funções...........................................................................................................................7Conectando com o servidor.........................................................................................................7Executando comandos SQL........................................................................................................7Criando um banco de dados........................................................................................................8Selecionado um banco de dados.................................................................................................8Apagando um banco de dados.....................................................................................................8Listando os bancos de dados.......................................................................................................9Criando uma tabela.....................................................................................................................9Alterando uma tabela..................................................................................................................9Apagando uma tabela..................................................................................................................9Listando as tabelas....................................................................................................................10Inserindo dados na tabela..........................................................................................................10Alterando dados na tabela.........................................................................................................10Apagando dados da tabela.........................................................................................................10Consultando dados....................................................................................................................10

Classes................................................................................................................................................11TBColumnSQL..............................................................................................................................11TBrowseSQL.................................................................................................................................11TMySQLQuery..............................................................................................................................12TMySQLRow................................................................................................................................13TMySQLServer.............................................................................................................................13TMySQLTable...............................................................................................................................14

Funções...............................................................................................................................................16MYSQL_AFFECTED_ROWS......................................................................................................16MYSQL_CLOSE...........................................................................................................................16MYSQL_COMMIT.......................................................................................................................16MYSQL_DATA_SEEK.................................................................................................................17MYSQL_ERROR..........................................................................................................................17MYSQL_ESCAPE_STRING........................................................................................................17MYSQL_ESCAPE_STRING_FROM_FILE................................................................................17MYSQL_FETCH_FIELD.............................................................................................................18MYSQL_FETCH_ROW...............................................................................................................18MYSQL_FIELD_COUNT............................................................................................................18MYSQL_FIELD_SEEK................................................................................................................19MYSQL_FREE_RESULT.............................................................................................................19MYSQL_GET_HOST_INFO........................................................................................................19

Page 3: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

MYSQL_GET_SERVER_INFO...................................................................................................20MYSQL_GET_SERVER_VERSION...........................................................................................20MYSQL_LIST_DBS.....................................................................................................................20MYSQL_LIST_FIELDS...............................................................................................................20MYSQL_LIST_TABLES..............................................................................................................21MYSQL_NUM_FIELDS...............................................................................................................21MYSQL_NUM_ROWS.................................................................................................................21MYSQL_QUERY..........................................................................................................................22MYSQL_REAL_CONNECT........................................................................................................22MYSQL_ROLLBACK..................................................................................................................22MYSQL_SELECT_DB.................................................................................................................23MYSQL_STORE_RESULT..........................................................................................................23MYSQL_USE_RESULT...............................................................................................................23

Funções obsoletas...............................................................................................................................24DATATOSQL.................................................................................................................................24FILETOSQLBINARY...................................................................................................................24SQLAFFROWS.............................................................................................................................24SQLAND.......................................................................................................................................24SQLCLOSE...................................................................................................................................24SQLCOMMIT...............................................................................................................................25SQLCONNECT.............................................................................................................................25SQLDATAS...................................................................................................................................25SQLFETCHF.................................................................................................................................25SQLFETCHR.................................................................................................................................25SQLFICOU....................................................................................................................................25SQLFREER...................................................................................................................................26SQLFSEEK....................................................................................................................................26SQLGETERR................................................................................................................................26SQLHOSTINFO............................................................................................................................26SQLLISTDB..................................................................................................................................26SQLLISTF.....................................................................................................................................27SQLLISTTBL................................................................................................................................27SQLNROWS.................................................................................................................................27SQLNUMFI...................................................................................................................................27SQLQUERY..................................................................................................................................27SQLROLLBACK..........................................................................................................................27SQLSELECTD..............................................................................................................................28SQLSRVINFO...............................................................................................................................28SQLSTORER.................................................................................................................................28SQLUSERES.................................................................................................................................28SQLVERSION...............................................................................................................................28

Ferramentas........................................................................................................................................29DBF2MYSQL................................................................................................................................29

Endereços úteis...................................................................................................................................31

Page 4: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

LicençaEste trabalho está licenciado sob uma Licença Creative Commons Atribuição-Uso Não-Comercial-Vedada a Criação de Obras Derivadas 2.5 Brasil. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/2.5/br/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

DonativosEmbora este guia seja distribuido livremente, espera-se daqueles que o adotarem como fonte de consulta que apoiem o projeto através de donativos. Este apoio ajudará na continuidade e na qualidade deste trabalho, permitindo um investimento maior de tempo no seu desenvolvimento.

ContatoPara entrar em contato com o autor, envia sua mensagem para o email abaixo:

[email protected]

ColeçãoEste guia faz parte de uma coleção chamada Biblioteca do Programador Harbour. Para saber mais sobre esta coleção, visite o blog abaixo:

http://marcosgambeta.wordpress.com

Page 5: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

IntroduçãoHBMYSQL é uma das bibliotecas disponíveis no projeto Harbour. Sua função é permitir a comunicação entre um programa desenvolvido em Harbour com o sistema gerenciador de banco de dados (SGDB) MySQL Server.

O objetivo deste guia não é ensinar SQL ou como usar o MySQL Server, mas sim documentar e demonstrar os recursos presentes na biblioteca. Aqui você encontrará informações úteis que lhe ajudarão a usar a biblioteca no desenvolvimento de sistemas.

As informações estão divididas nas seguintes seções:

ExemplosUma série de exemplos simples demonstrando como usar tanto as classes quanto as funções.

ClassesRelação das classes.

FunçõesRelação das funções.

Funções obsoletasRelação das funções obsoletas.

FerramentasRelação de ferramentas úteis.

Endereços úteisRelação de endereços úteis, relacionados com o MySQL Server.

Nota do autor: Este é um trabalho em progresso, de forma que não está completo ainda. Mas já apresenta informações úteis, sendo por isto disponibilizado publicamente.

Page 6: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

ExemplosEsta seção apresenta uma série de exemplos simples, demonstrando como usar as classes e funções da biblioteca hbmysql. A primeira parte apresenta exemplos relacionados com as classes e a segunda parte, exemplos relacionados com as funções.

Usando as classes

Conectando com o servidor

oServer := TMySQLServer():New("localhost", "root", "")

Selecionando um banco de dados

oServer:SelectDB("banco")

Criando uma tabela

aTabela := {; {“campo1”,”c”,10,0},; {“campo2”,”n”,10,2}; }

IF oServer:CreateTable("tabela", aTabela) Alert("tabela criada com sucesso") ELSE Alert(oServer:Error()) ENDIF

Apagando uma tabela

IF !oServer:DeleteTable("tabela") Alert(oServer:Error()) ENDIF

Executando uma consulta

oQuery := oServer:Query("SELECT * FROM tabela")

Page 7: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

Encerrando a conexão com o servidor

oServer:Destroy()

Verificando a conexão

IF oServer:NetErr() Alert(oServer:Error()) ENDIF

Usando as funções

Conectando com o servidor

A conexão com o servidor se faz através da função mysql_real_connect. A função retorna um ponteiro e seu sucesso pode ser testado com a função empty. Este ponteiro deverá ser usado nas demais funções envolvendo a manipulação de dados.

pCon := mysql_real_connect(“localhost”, “root”, “password”) IF Empty(pCon) ? “a conexão com o servidor falhou” ENDIF

Executando comandos SQL

Uma vez que a conexão com o servidor esteja estabelecida, será possível executar comandos SQL através da função mysql_query. Esta função será utilizada para inclusões, alterações, exclusões e consultas, além de outras tarefas. Determinadas tarefas possuem funções específicas, conforme você poderá ver nos exemplos desta seção.

O exemplo abaixo demonstra o uso do comando SELECT. Neste caso, estamos selecionando todos os campos de todos os registros de uma tabela chamada agenda.

nRetorno := mysql_query(pCon, “SELECT * FROM agenda”)

Page 8: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

Criando um banco de dados

Um banco de dados é criado com o comando CREATE DATABASE, sendo usada a função mysql_query para executar a sentença SQL. Se o retorno for 0, a criação do banco foi bem sucedida.

nRetorno := mysql_query(pCon, “CREATE DATABASE nome_do_banco_de_dados”) IF nRetorno == 0 ? “banco de dados criado com sucesso” ENDIF

Você pode usar IF NOT EXISTS para não ocorrer um erro ao tentar criar um banco que já existe.

“CREATE DATABASE IF NOT EXISTS nome_do_banco_de_dados”

Selecionado um banco de dados

Estando o banco de dados criado, ele deve ser selecionado para se poder trabalhar com ele. Esta seleção do banco pode ser feita de duas formas: através de uma sentença SQL ou através da função mysql_select_db. O sucesso da operação pode ser confirmado através do valor de retorno.

nRetorno := mysql_query(pCon, “USE nome_do_banco_de_dados”) IF nRetorno == 0 ? “banco de dados selecionado com sucesso” ENDIF

nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) IF nRetorno == 0 ? “banco de dados selecionado com sucesso” ENDIF

Apagando um banco de dados

Um banco de dados pode ser apagado através do comando DROP DATABASE.

nRetorno := mysql_query(pCon, “DROP DATABASE nome_do_banco_de_dados”) IF nRetorno == 0 ? “banco de dados apagado com sucesso” ENDIF

Page 9: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

Atenção! Use este comando com cautela para não haver perda de dados. Uma vez que o banco de dados seja eliminado, você não poderá desfazer a operação.

Listando os bancos de dados

Através da função mysql_list_dbs, podemos obter uma lista dos bancos de dados existentes no servidor. A função retorna um vetor com os nomes dos bancos de dados.

aBancos := mysql_list_dbs(pCon) FOR i := 1 TO Len(aBancos) ? aBancos[i] NEXT i

Criando uma tabela

Tabelas são criadas com o comando CREATE TABLE. Visto que as sentenças SQL podem ser bem longas, pode-se criar uma variável e dividir a criação do comando em etapas. O exemplo abaixo demonstra como criar uma tabela, de nome agenda, com os campos codigo, nome e telefone. O campo codigo é a chave primária, iniciando com 1 e sendo incrementado automaticamente.

cSQL := "CREATE TABLE agenda (" cSQL += "'codigo' int(10) unsigned NOT NULL AUTO_INCREMENT," cSQL += "'nome' varchar(45) NOT NULL," cSQL += "'telefone' varchar(12) DEFAULT NULL," cSQL += "PRIMARY KEY ('codigo') ) "

nRetorno := mysql_query(pCon, cSQL) IF nRetorno == 0 ? “tabela criada com sucesso” ENDIF

Alterando uma tabela

Apagando uma tabela

Tabelas podem ser apagadas através do comando DROP TABLE.

nRetorno := mysql_query(pCon, “DROP TABLE nome_da_tabela”)

Page 10: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

Para evitar erros, ao tentar apagar tabelas que não existem, você poderá usar IF EXISTS conforme exemplo abaixo:

“DROP TABLE IF EXISTS nome_da_tabela”

Atenção! Use este comando com cautela para não haver perda de dados. Uma vez que a tabela seja eliminada, você não poderá desfazer a operação.

Listando as tabelas

Através da função mysql_list_tables, podemos obter uma lista das tabelas existentes no banco de dados selecionado. A função retorna um vetor com os nomes das tabelas.

aTabelas := mysql_list_tables(pCon) FOR i := 1 TO Len(aTabelas) ? aTabelas[i] NEXT i

TODO: explicar sobre o segundo parâmetro da função.

Inserindo dados na tabela

Alterando dados na tabela

...

Apagando dados da tabela

Consultando dados

Page 11: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

ClassesNesta seção você encontra uma relação das classes disponíveis na biblioteca. Para cada classe, são apresentadas as seguintes informações: hierarquia, propriedades, métodos, biblioteca e código.

TBColumnSQL

HierarquiaTBColumn → TBColumnSQL

PropriedadesoBrwnFieldNum

MétodosNew( cHeading, bBlock, oBrw )Block()

Bibliotecahbmysql

Código\harbour\contrib\hbmysql\tsqlbrw.prg

TBrowseSQL

HierarquiaTBrowse → TBrowseSQL

PropriedadesoCurRowoQuery

MétodosNew( nTop, nLeft, nBottom, nRight, oServer, oQuery, cTable )EditField()BrowseTable( lCanEdit, aExitKeys )KeyboardHook( nKey )

Bibliotecahbmysql

Código\harbour\contrib\hbmysql\tsqlbrw.prg

Page 12: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

TMySQLQuery

HierarquiaTMySQLQuery

PropriedadesnSocketnResultHandlecQuerynNumRowsnCurRowlBoflEoflFieldAsDataaRownNumFieldsaFieldStructlError

MétodosNew( nSocket, cQuery )Destroy()End()Refresh()GetRow( nRow )Skip( nRows )Bof()Eof()RecNo()LastRec()GoTop()GoBottom()GoTO( nRow )FCount()NetErr()Error()FieldName( nNum )FieldPos( cFieldName )FieldGet( cnField )FieldLen( nNum )FieldDec( nNum, lFormat )FieldType( nNum )

Bibliotecahbmysql

Código\harbour\contrib\hbmysql\tmysql.prg

Page 13: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

TMySQLRow

HierarquiaTMySQLRow

PropriedadesaRowaDirtyaOldValueaOriValueaFieldStructcTable

MétodosNew( aRow, aFStruct, cTableName )FieldGet( cnField )FieldPut( cnField, Value )FieldName( nNum )FieldPos( cFieldName )FieldLen( nNum )FieldDec( nNum, lFormat )FieldType( nNum )MakePrimaryKeyWhere()

Bibliotecahbmysql

Código\harbour\contrib\hbmysql\tmysql.prg

TMySQLServer

HierarquiaTMySQLServer

PropriedadesnSocketcServercDBNamecUsercPasswordlErrorcCreateQuery

MétodosNew( cServer, cUser, cPassword, nPort )Destroy()SelectDB( cDBName )CreateTable( cTable, aStruct, cPrimaryKey, cUniqueKey, cAuto )DeleteTable( cTable )

Page 14: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

TableStruct( cTable )CreateIndex( cName, cTable, aFNames, lUnique )DeleteIndex( cName, cTable )ListDBs()ListTables()Query( cQuery )NetErr()Error()CreateDatabase( cDataBase )Sql_Commit()Sql_Rollback()Sql_Version()

Bibliotecahbmysql

Código\harbour\contrib\hbmysql\tmysql.prg

TMySQLTable

HierarquiaTMySQLQuery → TMySQLTable

PropriedadescTableaOldValue

MétodosNew( nSocket, cQuery, cTableName )GetRow( nRow )Skip( nRow )GoTop()GoBottom()GoTo( nRow )Update( oRow, lOldRecord, lRefresh )Save()Delete( oRow, lOldRecord, lRefresh )Append( oRow, lRefresh )GetBlankRow( lSetValues )SetBlankRow()Blank()FieldPut( cnField, Value )Refresh()MakePrimaryKeyWhere()

Bibliotecahbmysql

Código

Page 15: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

\harbour\contrib\hbmysql\tmysql.prg

Page 16: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

FunçõesNesta seção você encontra uma relação das funções disponíveis na biblioteca. Para cada função, são apresentadas as seguintes informações: descrição curta, sintaxe, parâmetros, retorno, biblioteca e código.

MYSQL_AFFECTED_ROWSObtém o número de linhas afetadas na operação anterior.Sintaxemysql_affected_rows( pCon ) → nRowsParâmetrospCon : ponteiro para uma conexãoRetornonúmero de linhas afetadasBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_CLOSEFecha a conexão.Sintaxemysql_close( pCon ) → NILParâmetrospCon : ponteiro para uma conexãoRetornoNILBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_COMMITRealiza um commit na transação corrente.Sintaxemysql_commit( pCon ) → nResultParâmetrospCon : ponteiro para uma conexãoRetornoRetorna 0 em caso de sucesso e diferente de 0 em caso de erro.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

Page 17: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

MYSQL_DATA_SEEKPosiciona na linha determinada no resultado de uma consulta.Sintaxemysql_data_seek( pResult, nRow ) → NILParâmetrospResult : ponteiro para o resultado de uma consultanRow : número da linhaRetornoNILBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_ERRORRetorna a descrição do último erro ocorrido.Sintaxemysql_error( pCon ) → cErrorParâmetrospCon : ponteiro para uma conexãoRetornodescrição do erroBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_ESCAPE_STRINGPrepara uma string para ser usada numa consulta.Sintaxemysql_escape_string( cString ) → cNewStringParâmetroscString : string para ser processadaRetornostring processadaBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_ESCAPE_STRING_FROM_FILEPrepara uma string, obtida de um arquivo, para ser usada numa consulta.Sintaxemysql_escape_string_from_file( cFileName ) → cString

Page 18: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

ParâmetroscFileName : nome do arquivo contendo string para ser processadaRetornostring processadaBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_FETCH_FIELDRetorna informações sobre as colunas do resultado da consulta.Sintaxemysql_fetch_field( pResult ) → aFieldParâmetrospResult : ponteiro para o resultado de uma consultaRetornoaField[1] = name // charaField[2] = table // charaField[3] = def // charaField[4] = type // numericaField[5] = length // numericaField[6] = max_length // numericaField[7] = flags // numericaField[8] = decimals // numericNa primeira chamada, retorna informações sobre a primeira coluna. Nas chamadas subsequentes, retorna informações sobre as próximas colunas.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_FETCH_ROWRetorna uma linha do resultado de uma consulta.Sintaxemysql_fetch_row( pResult ) → aRowParâmetrospResult : ponteiro para o resultado de uma consultaRetornoarray com os dados da linhaDeve ser chamada sucessivamente para obter as linhas da consulta.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_FIELD_COUNTRetorna o número de colunas da consulta mais recente.

Page 19: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

Sintaxemysql_field_count( pCon ) → nFieldsParâmetrospCon : ponteiro para uma conexãoRetornonúmero de colunas (campos)BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_FIELD_SEEKPosiciona o ponteiro na coluna especificada.Sintaxemysql_field_seek( pResult, nIndex ) → NILParâmetrospResult : ponteiro para o resultado de uma consultanIndex : índice da colunaRetornoNILBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_FREE_RESULTLibera a memória ocupada pelo resultado de uma consulta.Sintaxemysql_free_result( pResult ) → NILParâmetrospResult : ponteiro para o resultado de uma colunaRetornoNILBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_GET_HOST_INFOObtém uma string descrevendo o tipo de conexão e o nome do servidor.Sintaxemysql_get_host_info( pCon ) → cHostInfoParâmetrospCon : ponteiro para uma conexãoRetornodescrição do tipo de conexão e o nome do servidorBiblioteca

Page 20: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

hbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_GET_SERVER_INFOObtém uma string com a versão do servidor MySQL.Sintaxemysql_get_server_info( pCon ) → cServerInfoParâmetrospCon : ponteiro para uma conexãoRetornoversão do servidor MySQLBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_GET_SERVER_VERSIONObtém a versão do servidor MySQL em forma de número.Sintaxemysql_get_server_version( pCon ) → nServerVersionParâmetrospCon : ponteiro para uma conexãoRetornoversão do servidor MySQLBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_LIST_DBSObtém uma lista dos bancos de dados presentes no servidor MySQL.Sintaxemysql_list_dbs( pCon ) → aDBSParâmetrospCon : ponteiro para uma conexãoRetornoarray com a lista de bancos de dadosBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_LIST_FIELDSObtém um ponteiro para o resultado de uma consulta, contendo uma lista de campos.

Page 21: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

Sintaxemysql_list_fields( pCon, cTableName ) → pResultParâmetrospCon : ponteiro para uma conexãoRetornoponteiro para o resultado de uma consultaBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_LIST_TABLESObtém uma lista de tabelas, conforme a expressão regular informada.Sintaxemysql_list_tables( pCon, cWild ) → aTablesParâmetrospCon : ponteiro para uma conexãocWild : expressão regularRetornoarray com uma lista de tabelasBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_NUM_FIELDSObtém o número de colunas no resultado de uma consulta.Sintaxemysql_num_fields( pResult ) → nNumFieldsParâmetrospResult : ponteiro para o resultado de uma consultaRetornonúmero de colunas (campos)BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_NUM_ROWSObtém o número de linhas no resultado de uma consulta.Sintaxemysql_num_rows( pResult ) → nNumRowsParâmetrospResult : ponteiro para o resultado de uma consultaRetornonúmero de linhasBiblioteca

Page 22: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

hbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_QUERYRealiza uma consulta no banco de dados selecionado.Sintaxemysql_query( pCon, cQuery ) → nResultParâmetrospCon : ponteiro para uma conexãocQuery : comandos SQL para serem executadosRetornoRetorna 0 em caso de sucesso e <> 0 em caso de erro.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_REAL_CONNECTRealiza uma conexão com um servidor MySQL.Sintaxemysql_real_connect( cHost, cUser, cPassword, nPort, nFlags ) → pConParâmetroscHost : nome do servidorcUser : nome do usuáriocPassword : senha do usuárionPort : número da porta de comunicaçãonFlags : flagsO valor default de nPort é MYSQL_PORT.O valor default de nFlags é 0.Retornoum ponteiro válido se a conexão for bem sucedida.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_ROLLBACKDesfaz a transação corrente.Sintaxemysql_rollback( pCon ) → nResultParâmetrospCon : ponteiro para uma conexãoRetornoRetorna 0 em caso de sucesso e <> 0 em caso de erro.Bibliotecahbmysql

Page 23: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

Código\harbour\contrib\hbmysql\mysql.c

MYSQL_SELECT_DBSeleciona um banco de dados.Sintaxemysql_select_db( pCon, cDatabase ) → nResultParâmetrospCon : ponteiro para uma conexãoRetornoRetorna 0 em caso de sucesso e <> 0 em caso de erro.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

MYSQL_STORE_RESULTArmazena o resultado de uma consulta.Nota para o autor: confirmar a correta descrição para esta função.Sintaxemysql_store_result( pCon ) → pResultParâmetrospCon : ponteiro para uma conexãoRetornoponteiro para o resultado de uma consultaBibliotecahbmysqlCódigoharbour\contrib\hbmysql\mysql.c

MYSQL_USE_RESULTUsa o resultado de uma consulta.Nota para o autor: confirmar a correta descrição para esta função.Sintaxemysql_use_result( pCon ) → pResultParâmetrospCon : ponteiro para uma conexãoRetornoponteiro para o resultado de uma consultaBibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysql.c

Page 24: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

Funções obsoletasEstes são os nomes originais das funções da biblioteca hbmysql. Estes nomes foram modificados para ficarem em sincronia com os nomes das funções da API do MySQL Server. Na sequência, você encontrará o nome original e o novo atual, facilitando os ajustes em seus programas que ainda utilizam os nomes obsoletos.

Com exceção da função SQLAND, cada uma das funções abaixo chama a função equivalente com o nome correto. Estas funções obsoletas poderão deixar de existir em futuras versões do Harbour, de forma que a melhor solução é sua subtituição pela função correta.

DATATOSQLVeja a função MYSQL_ESCAPE_STRING.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

FILETOSQLBINARYVeja a função MYSQL_ESCAPE_STRING_FROM_FILE.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLAFFROWSVeja a função MYSQL_AFFECTED_ROWS.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLANDVeja a função HB_BITAND, no guia de funções do Harbour.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLCLOSEVeja a função MYSQL_CLOSE.Biblioteca

Page 25: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

hbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLCOMMITVeja a função MYSQL_COMMIT.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLCONNECTVeja a função MYSQL_REAL_CONNECT.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLDATASVeja a função MYSQL_DATA_SEEK.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLFETCHFVeja a função MYSQL_FETCH_FIELD.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLFETCHRVeja a função MYSQL_FETCH_ROW.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLFICOUVeja a função MYSQL_FIELD_COUNT.

Page 26: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLFREERVeja a função MYSQL_FREE_RESULT.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLFSEEKVeja a função MYSQL_FIELD_SEEK.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLGETERRVeja a função MYSQL_ERROR.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLHOSTINFOVeja a função MYSQL_GET_HOST_INFO.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLLISTDBVeja a função MYSQL_LIST_DBS.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

Page 27: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

SQLLISTFVeja a função MYSQL_LIST_FIELDS.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLLISTTBLVeja a função MYSQL_LIST_TABLES.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLNROWSVeja a função MYSQL_NUM_ROWS.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLNUMFIVeja a função MYSQL_NUM_FIELDS.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLQUERYVeja a função MYSQL_QUERY.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLROLLBACKVeja a função MYSQL_ROLLBACK.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

Page 28: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

SQLSELECTDVeja a função MYSQL_SELECT_DB.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLSRVINFOVeja a função MYSQL_GET_SERVER_INFO.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLSTORERVeja a função MYSQL_STORE_RESULT.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLUSERESVeja a função MYSQL_USE_RESULT.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

SQLVERSIONVeja a função MYSQL_GET_SERVER_VERSION.BibliotecahbmysqlCódigo\harbour\contrib\hbmysql\mysqlold.c

Page 29: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

FerramentasEsta seção traz uma relação de ferramentas úteis no desenvolvimento.

Nota do autor: apenas uma ferramenta está listada, por enquanto. Outras ferramentas úteis serão adicionadas em futuras revisões deste guia.

DBF2MYSQL

DBF2MYSQL é uma ferramenta que importa, para uma tabela do MySQL Server, os dados de um arquivo .DBF.

Parâmetros:

-h <hostname>Nome do servidor. Usa “localhost” caso não seja informado

-u <user>Nome do usuário. Usa “root” caso não seja informado.

-p <password>Senha. Usa “” (sem senha) caso não seja informado.

-d <database>Nome do banco de dados.

-t <table>Nome da tabela onde os dados serão importados.

-cIndica que a tabela deverá ser apagada e criada novamente, antes dos dados serem importados.

-f <dbfname>Nome do arquivo .dbf que será importado.

Todos os parâmetros, com exceção de -h, -u, -p e -c, são obrigatórios. Ou seja, os nomes do banco de dados, da tabela e do arquivo .dbf sempre deverão ser informados.

Exemplos de uso:

dbf2mysql -d dbteste -t tblagenda -f agenda.dbf

No servidor local, no banco de dados dbteste, importa os dados do arquivo agenda.dbf na tabela tblagenda, sem recriar a tabela.

dbf2mysql -d dbteste -t tblagenda -c -f agenda.dbf

No servidor local, no banco de dados dbteste, importa os dados do arquivo agenda.dbf na tabela

Page 30: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

tblagenda, recriando a tabela.

Código: \harbour\contrib\hbmysql\utils\dbf2mysq.prg

Page 31: HBMYSQL - WordPress.com · nRetorno := mysql_select_db(pCon, “nome_do_banco_de_dados”) ... Nesta seção você encontra uma relação das funções disponíveis na biblioteca.

Endereços úteisEsta seção apresenta endereços úteis na internet, onde você encontrará mais informações.

http://www.mysql.com

Site oficial do MySQL Server

http://dev.mysql.com

Developer Zone – área para desenvolvedores

http://dev.mysql.com/downloads/

Downloads do MySQl Server, onde você poderá baixar a versão mais recente do servidor e ferramentas adicionais.

http://dev.mysql.com/doc/

Documentação do MySQL Server, onde você poderá consultar online ou baixar guias de referência.

http://forums.mysql.com/

Grupos de discussão do MySQL Server.

http://www.sqlcourse.com/

Interactive Online SQL Training. Para aprendizado de SQL, com a opção de praticar os comandos de forma online e interativa.

Nota do autor: mais sites serão adicionados em futuras versões deste guia.