源代码调用OB问题
#define _SASQL_C_
#include "version.h"
#ifdef _SASQL//新添加
#include "main.h"
#include "sasql.h"
#include <mysql/mysql.h>
MYSQL mysql;
MYSQL_RES *mysql_result;
MYSQL_ROW mysql_row;
typedef struct tagConfig
{
char sql_IP[16];
int sql_Port;
char sql_ID[16];
char sql_PS[16];
char sql_DataBase[16];
char sql_Table[16];
char sql_LOCK[16];
char sql_NAME[16];
char sql_PASS[16];
}Config;
Config config;
int AutoReg;
BOOL sasql_init( void )
{
printf("\n数据库地址: %s",getsql_IP());
printf("\n数据库端口: %d",getsql_Port());
printf("\n数据库用户: %s",getsql_ID());
printf("\n数据库密码: %s",getsql_PS());
printf("\n登陆数据库名:%s",getsql_DataBase());
printf("\n用户信息表名: %s",getsql_Table());
printf("\n用户锁定表名: %s",getsql_LOCK());
printf("\n账号字段名称: %s",getsql_NAME());
printf("\n密码字段名称: %s",getsql_PASS());
if( !mysql_real_connect( &mysql,
getsql_IP(),
getsql_ID(),//帐号
getsql_PS(),//密码
getsql_DataBase(),//选择的资料库
getsql_Port(),
NULL,
0 ) )
{
printf("\n数据库连接失败!\n");
return FALSE;
}
printf("\n数据库连接成功\!\n");
return TRUE;
}
void sasql_close( void )
{
mysql_close( &mysql );
}
int sasql_query(char *nm, char *pas){
char sqlstr[256];
sprintf(sqlstr,"select * from %s where %s=BINARY'%s'",config.sql_Table,config.sql_NAME,nm);
if(!mysql_query(&mysql,sqlstr)){
int num_row=0;
mysql_result=mysql_store_result(&mysql);
num_row=mysql_num_rows(mysql_result);
mysql_free_result(mysql_result);
if(num_row>0){
mysql_row=mysql_fetch_row(mysql_result);
if(strcmp(pas,mysql_row[1]) == 0){
return 1;
}else{
printf("用户%s密码错误!\n",nm);
return 2;
}
}else{
printf("用户%s未注册!\n",nm);
return 3;
}
}else{
printf("\n数据库查找失败!\n");
printf("重新连接数据库...");
sasql_close();
sasql_init();
printf("完成\n");
return 0;
}
}
#ifdef _SQL_REGISTER
BOOL sasql_register(char *id, char *ps)
{
char sqlstr[256];
// if(AutoReg!=1)return FALSE;
sprintf(sqlstr,"INSERT INTO %s (%s,%s,RegTime,Path) VALUES (BINARY'%s','%s',NOW(),'char/0x%x')",config.sql_Table, config.sql_NAME, config.sql_PASS, id, ps, getHash(id) & 0xff);
if(!mysql_query(&mysql,sqlstr)){
printf("\n新用户注册成功!\n");
return TRUE;
}
printf("\n新用户注册失败!\n");
return FALSE;
}
#endif
BOOL sasql_chehk_lock( char *idip )
{
char sqlstr[256];
sprintf(sqlstr,"select * from %s where %s=BINARY'%s'", config.sql_LOCK, config.sql_NAME, idip);
if(!mysql_query(&mysql,sqlstr)){
return TRUE;
}
return FALSE;
}
BOOL sasql_add_lock( char *idip )
{
char sqlstr[256];
sprintf(sqlstr,"INSERT INTO %s (%s) VALUES (BINARY'%s')", config.sql_LOCK, config.sql_NAME, idip);
if(!mysql_query(&mysql,sqlstr)){
printf("\n添加锁定%s成功!\n",idip);
return TRUE;
}
return FALSE;
}
BOOL sasql_del_lock( char *idip )
{
char sqlstr[256];
sprintf(sqlstr,"delete from config.SQL_LOCK where %s=BINARY'%s'", config.sql_LOCK, config.sql_NAME, idip);
if(!mysql_query(&mysql,sqlstr)){
printf("\n解除锁定%s成功!\n",idip);
return TRUE;
}
return FALSE;
}
BOOL sasql_craete_lock( void )
{
}
BOOL sasql_craete_userinfo( void )
{
}
#endif
不懂啊。 想调用OB数据源。 不用MYSQL。 可以帮忙改改么??