源代码调用OB问题

rayrix 2009-05-20 02:09:11
#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。 可以帮忙改改么??
...全文
45 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
liliangbao 2009-05-21
  • 打赏
  • 举报
回复
帮顶了!!!

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧