📄 dbfun.c
字号:
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <mysql/mysql.h>#include "dbfun.h"#include "macpool.h"static MYSQL ktv_MYSQL;static MYSQL_RES *g_Rst;int dbCount(){ int count; if(g_Rst) { count=mysql_num_rows(g_Rst); return count; } else return dbFailRstNotOpen;}dbErr dbMove(int pos){ int count; if(!g_Rst) return dbFailRstNotOpen; dbCount(&count); if(pos<count) { mysql_data_seek(g_Rst,pos); return dbSuccess; } return dbFailPara;}dbErr dbBegin(char *remoteIp,char *dbName,char *user,char *pwd){ int i=0; if(mysql_init(&ktv_MYSQL)==NULL) return dbFailMysqlInit; mysql_options(&ktv_MYSQL,MYSQL_OPT_CONNECT_TIMEOUT,"15"); mysql_options(&ktv_MYSQL,MYSQL_OPT_COMPRESS,0); for(i=0;i<8;i++) { if(mysql_real_connect(&ktv_MYSQL,remoteIp,user,pwd,dbName,0,NULL,0)) break; } if(i==8) { system("echo '连接数据库失败!' >> /tmp/systemGuard.log"); return dbFailMysqlConnect; } return dbSuccess;}dbErr dbEnd(){ if(g_Rst) mysql_free_result(g_Rst); mysql_close(&ktv_MYSQL); return dbSuccess;}dbErr dbQuery(char *sqlStr){ if(mysql_query(&ktv_MYSQL,sqlStr)) return dbFailExecute; if(g_Rst!=NULL) mysql_free_result(g_Rst); g_Rst=mysql_store_result(&ktv_MYSQL); if(g_Rst!=NULL) return dbSuccess; else return dbFailExecute;}dbErr dbExecute(char* sqlStr){// printf("sql===%s\n",sqlStr); if(mysql_real_query(&ktv_MYSQL,sqlStr,0)) return dbFailExecute; return dbSuccess;}/*dbErr dbGetRecord(char **value,int *fieldCount){ int i,fc; MYSQL_ROW temp_row; temp_row=mysql_fetch_row(g_Rst); if(!temp_row) return dbEOF; fc=mysql_num_fields(g_Rst); memcpy(value,temp_row,sizeof(temp_row)); *fieldCount=fc; return dbSuccess;}*/dbErr dbGetMacFromDB(macPoolDef *pmac){ MYSQL_ROW temp_row; char buf[10]; temp_row=mysql_fetch_row(g_Rst); if(!temp_row) return dbEOF; if(mysql_num_fields(g_Rst)<3) return dbFailFieldNumber; strcpy(buf,temp_row[0]?temp_row[0]:"0"); pmac->macid=atoi(buf); sprintf(pmac->mac,"%s",temp_row[1]?temp_row[1]:"NULL"); pmac->mac[12]=0; strcpy(pmac->ipaddr,temp_row[2]?temp_row[2]:"NULL"); pmac->ipaddr[15]=0; return dbSuccess;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -