132 lines
3.6 KiB
C++
132 lines
3.6 KiB
C++
#include "StdAfx.h"
|
|
/*
|
|
#include "mysql_con.h"
|
|
|
|
//**********************************************************************************************************************************
|
|
Cmysql_con::Cmysql_con(void)
|
|
{
|
|
conn=NULL;
|
|
}
|
|
//**********************************************************************************************************************************
|
|
Cmysql_con::~Cmysql_con(void)
|
|
{
|
|
cierra();
|
|
}
|
|
//**********************************************************************************************************************************
|
|
BOOL Cmysql_con::contecta( char *url,char *usr,char *key, char* dbname, int puerto )
|
|
{
|
|
char *opt_socket_name = NULL;
|
|
unsigned int opt_flags = 0;
|
|
cierra();
|
|
//inicia conexion---------------------------------------------
|
|
conn = mysql_init (NULL);
|
|
if (!conn)
|
|
{
|
|
err.pon("mysql","Error al inicializar la conexión");
|
|
return FALSE;
|
|
}
|
|
//conecta con servidor----------------------------------------
|
|
if (!mysql_real_connect (conn, url, usr, key,
|
|
dbname, puerto, opt_socket_name, opt_flags))
|
|
{
|
|
pon_error();
|
|
cierra();
|
|
return FALSE;
|
|
}
|
|
return TRUE;
|
|
}
|
|
//**********************************************************************************************************************************
|
|
void Cmysql_con::cierra()
|
|
{
|
|
if (conn != NULL)
|
|
{
|
|
mysql_close (conn);
|
|
conn = NULL;
|
|
}
|
|
}
|
|
//**********************************************************************************************************************************
|
|
void Cmysql_con::pon_error()
|
|
{
|
|
char resultado[255];
|
|
if (conn != NULL)
|
|
{
|
|
sprintf(resultado, "Error %u (%s)", mysql_errno(conn), mysql_error(conn));
|
|
err.pon("mysql",resultado);
|
|
}
|
|
}
|
|
//**********************************************************************************************************************************
|
|
BOOL Cmysql_con::envia( char *sent )
|
|
{
|
|
if (mysql_query(conn, sent) != 0)
|
|
{
|
|
pon_error();
|
|
return FALSE;
|
|
}
|
|
return TRUE;
|
|
}
|
|
//**********************************************************************************************************************************
|
|
BOOL Cmysql_con::recibe()
|
|
{
|
|
MYSQL_RES *res;
|
|
MYSQL_ROW row;
|
|
int i;
|
|
info.borra_virut();
|
|
registros=columnas=0;
|
|
if (!conn)
|
|
{
|
|
err.pon("mysql","Sin conexion");
|
|
return FALSE;
|
|
}
|
|
res = mysql_store_result(conn);
|
|
if (!res)
|
|
{
|
|
pon_error();
|
|
return FALSE;
|
|
}
|
|
//registros = (int)mysql_num_rows(res);
|
|
columnas = mysql_num_fields(res);
|
|
while ((row = mysql_fetch_row(res)) != NULL)
|
|
{
|
|
registros++;
|
|
for (i = 0; i < columnas; i++)
|
|
{
|
|
if (row[i] != NULL)
|
|
info.add((char*)row[i]);
|
|
else
|
|
info.add("");
|
|
}
|
|
}
|
|
return TRUE;
|
|
}
|
|
//**********************************************************************************************************************************
|
|
char* Cmysql_con::get( int f,int c )
|
|
{
|
|
if(f<0 || f>=registros || c<0 || c>=columnas)
|
|
return NULL;
|
|
return info.get(f*columnas+c);
|
|
}
|
|
//**********************************************************************************************************************************
|
|
void Cmysql_con::get( int f, int c, int *res )
|
|
{
|
|
char *st=get(f,c);
|
|
if (st)
|
|
*res=atoi(st);
|
|
else
|
|
*res=0;
|
|
}
|
|
//**********************************************************************************************************************************
|
|
void Cmysql_con::get( int f, int c, double *res )
|
|
{
|
|
char *st=get(f,c);
|
|
if (st)
|
|
*res=atof(st);
|
|
else
|
|
*res=0;
|
|
}
|
|
//**********************************************************************************************************************************
|
|
void Cmysql_con::get( int f, int c, __int64 *res )
|
|
{
|
|
|
|
}
|
|
*/
|
|
//**********************************************************************************************************************************
|