- 论坛徽章:
- 0
|
c或c++语言与mysql的接口有谁知道大家都想知道!
我做过这方面的东西,以下是一个查询Mysql的demo,希望对大家有用。
#include <chenpubhead.h>;
#include <mysql.h>;
int
db_init( MYSQL mysql ,char *str_sql, int len ) {
char errmsg[128];
int query_ret;
char host[128];
char password[128];
char username[128];
char envpath[256];
memset( host,0x00,128 );
memset( password,0x00,128 );
memset( username,0x00,128 );
/********************** 获取系统环境变量,得到系统配置文件 ****************/
memset( envpath,0x00,256 );
sprintf( envpath,"%s/etc/monitor.conf",getenv("HOME" );
/*********************从配置文件中读取连接 MYSQL 数据库所需要的参数 ********/
/****
if(( getprofile_string( envpath,"MYSQL","hostip",host ) ) == E_FAIL ) {
RE_CON_LOG( __FILE__, __LINE__,"getprofilestring for hostip" );
return E_FAIL;
}
if(( getprofile_string( envpath,"MYSQL","password",password ) ) == E_FAIL ) {
RE_CON_LOG( __FILE__, __LINE__,"getprofilestring for password " );
return E_FAIL;
}
if(( getprofile_string( envpath,"MYSQL","user",username ) ) == E_FAIL ) {
RE_CON_LOG( __FILE__, __LINE__,"getprofilestring for user " );
return E_FAIL;
}
****/
mysql_init( &mysql ) ;
mysql_options( &mysql,MYSQL_READ_DEFAULT_GROUP,"client" );
if(( mysql_real_connect( &mysql, "localhost","root","sll","nan",0,NULL,0 )) == NULL ) {
printf(" conncect error because %s\n", mysql_error( &mysql ) );
return E_FAIL ;
}
/*** Errlog( __FILE__,__LINE__," connect to database ok " ) ; **/
query_ret = mysql_real_query( &mysql, str_sql, len );
if( query_ret == 0 )
Errlog( __FILE__,__LINE__, " query ok !" );
else {
sprintf( errmsg, " query failed because %s \n",mysql_error(&mysql) );
Errlog( __FILE__,__LINE__, errmsg );
}
mysql_close( &mysql );
return E_OK ;
} |
|