⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqldata.c

📁 LINUX下实现对MYSQL数据的操作
💻 C
字号:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#include "IniFile.h"
#include "MySql.h"


#define Ini_Name "/root/home/maden/ini/mess.conf"
char gcDBServerIP[14];//数据库服务器IP。
char gcDBServerName[64];//数据库服务器名称。
char gcDBUser[64];//登录数据库服务器的用户名。
char gcDBPass[64];//登录数据库服务器的密码。

int GetConfigInfo()
{
	char				conffilename[255],buf[255];
	int				iReadResult;
	char			sectname[16];

	sprintf(conffilename,"%s",CONFIG_FILE_NAME);
	iReadResult = OpenIniFile(conffilename);
	
	if(0!=iReadResult) {
		printf("manasys_re::open confige file fail, now exit\n");
		return -1;
	}
	
	//如果不确定该Ini文件是否为Unix类型文件,调用转换函数进行转换
	if (ToUnixStyle() != 0) printf("Fail to convert to unix style file.\n");
	
	sprintf(sectname,"DBServer");

	iReadResult=GetIniString(sectname,"ServerIP",buf);
	if(-1==iReadResult) return -1;
	memcpy(gcDBServerIP,buf,14);
	
	iReadResult=GetIniString(sectname,"ServerName",buf);
	if(-1==iReadResult) return -1;
	memcpy(gcDBServerName,buf,64);

	iReadResult=GetIniString(sectname,"DBUser",buf);
	if(-1==iReadResult) return -1;
	memcpy(gcDBUser,buf,64);
	
	iReadResult=GetIniString(sectname,"DBPass",buf);
	if(-1==iReadResult) return -1;
	memcpy(gcDBPass,buf,64);
//	fprintf(stderr,"config info name %s ip %s user %s pass%s\n",gcDBServerName,gcDBServerIP,gcDBUser,gcDBPass);
	
	//读写文件后,关闭文件
	CloseIniFile();
	
	return 0;
}

int main(int argc, char **argv)
{
	CMySql camysql;
	if(!camysql.ConnectDB(gcDBServerIP,gcDBUser,gcDBPass,gcDBServerName)) {
		return -1;
	}
	char cLoad[255];
	int iIndex=0;
	/*
	select agent.* from agent,area,area_manage,in_user
	where agent.area_id=area.id and in_user.id=area_manage.user_id and area_manage.area_id=area.id and in_user.name='wang' order by area.id
	*/
	sprintf(cLoad,"SELECT * FROM serverlist");
	if(!camysql.ExecSQL(cLoad)) {
		camysql.DisConnectDB();
		return -1;
	}
	if(!camysql.StoreResult()) {
		camysql.DisConnectDB();
		return -1;
	}
	//	camysql.GotoRowsFirst();
	MYSQL_ROW currrow;
	currrow=camysql.GetNextRow();
	while(currrow) {
//		fprintf(stderr,"lvs server list %d \n",iIndex+1);
		if(!(currrow[0] && currrow[1] && currrow[2])
			) {
			currrow=camysql.GetNextRow();
			continue;
		}
		LvsServerInfoInDB * pItem=&gLvsServInfo[iIndex];
		if(currrow[0])
			pItem->serverid=atoi(currrow[0]);
		if(currrow[1])
			memcpy(pItem->servername,currrow[1],64);
		if(currrow[2])
			memcpy(pItem->serverip,currrow[2],32);
		if(currrow[3])
			memcpy(pItem->servertype,currrow[3],32);
		if(currrow[4])
			pItem->serverstate=atoi(currrow[4]);
		if(currrow[5])
			pItem->usercount=atoi(currrow[5]);
		fprintf(stderr,"lvs server list %d name %s ip %s\n",iIndex+1,pItem->servername,pItem->serverip);
		currrow=camysql.GetNextRow();
		iIndex++;
	}
	pMainServer->m_nLvsServerRealCount=iIndex;
	camysql.FreeResult();
	camysql.DisConnectDB();	
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -