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

📄 mysqlport.cpp

📁 mysql的接口实现 执行sql语句 example: select * from t_text
💻 CPP
字号:
/*********************************************************************** Copyright			Copyright (C) 2008 Newcon All Rights Reserved* System Name		Panasonic* Source Name		Mysqlport.cpp* Version	Date		Editor		Modification* 1.0		2008/04/17	顾文良		新建**********************************************************************/#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <mysql/mysql.h>#include "Mysqlport.h"CSqlPort::CSqlPort(){	m_mysql = NULL;}CSqlPort::~CSqlPort(){}//******************************************************************************// Function Name//					OpenSQL()// Function Desc//					连接数据库// Return Value//					int//						= 0		连接成功//						= 1     连接失败// Parameter//					无//// Version	Date		Editor		Modification// 1.0		2008/04/17	顾文良		新建//******************************************************************************int CSqlPort::OpenSQL(){	m_mysql = mysql_init(NULL);	if(mysql_real_connect(m_mysql, host, user, pass, db, 3306, NULL, 0))
	{
		printf("connect ok!\n");
		return 0;
	}
	else
	{
	//	fprintf(stderr, "Failed to connect to database: Error: %s\n",mysql_error(&mysql));
		printf("ERROR\n");		return 1;
	}}//******************************************************************************// Function Name//					CloseSQL()// Function Desc//					关闭数据库// Return Value//					无// Parameter//					无//// Version	Date		Editor		Modification// 1.0		2008/04/17	顾文良		新建//******************************************************************************void CSqlPort::CloseSQL(){ 	mysql_close(m_mysql);}//******************************************************************************// Function Name//					SqlCmd()// Function Desc//					插入、更新、删除操作// Return Value//					int//						=-1		连接数据库不成功//						= 0		操作成功//						非0		操作失败// Parameter//					[in]char *cmds  SQL语句//// Version	Date		Editor		Modification// 1.0		2008/04/17	顾文良		新建//******************************************************************************int CSqlPort::SqlCmd(char *cmds){	if(m_mysql == NULL)	{		printf("Connect ERROR!\n");		return -1;	}	int que;	que = mysql_query(m_mysql,cmds);	if(que != 0)
	{
		printf("USE SQL failed!\n");
		return que;
	}	else	{		printf("USE SQL Success\n");		return que;	}}//******************************************************************************// Function Name//					SqlQuery()// Function Desc//					查询操作// Return Value//						指向result的指针		操作成功//						NULL					连接失败、操作失败或没有需要查询的结果// Parameter//					[in]char *cmds  SQL语句//// Version	Date		Editor		Modification// 1.0		2008/04/17	顾文良		新建//******************************************************************************MYSQL_RES * CSqlPort::SqlQuery(char *cmds){
	MYSQL_RES *result;
	if(m_mysql == NULL)	{		printf("Connect ERROR!\n");		return NULL;	}
	if(mysql_query(m_mysql,cmds) != 0)
	{
		printf("USE SQL failed!\n");
		return NULL;
//		return mysql_errno(m_mysql);
	}
	result = mysql_store_result(m_mysql);
	if(result == NULL)
	{
		printf("NULL !\n");
		return NULL;
//		return mysql_errno(m_mysql);
	}
	else
	{
		printf("Success !\n");
		return result;	}}//******************************************************************************// Function Name//					Begin()// Function Desc//					开始事务// Return Value//					int//						=-1		连接数据库失败//						= 0		开启事务成功//						非0		开启事务失败// Parameter//					无//// Version	Date		Editor		Modification// 1.0		2008/04/17	顾文良		新建//******************************************************************************int CSqlPort::Begin(){	int flg;	if(m_mysql == NULL)	{		printf("Connect ERROR!\n");		return -1;	}	flg = mysql_query(m_mysql, "BEGIN");//或者使用"START TRANSACTION"	if(flg == 0)	{		printf("BEGIN Success\n");		return flg;	}	else	{		printf("BEGIN Error!\n");		return flg;	}}//******************************************************************************// Function Name//					RollBack()// Function Desc//					回滚事务// Return Value//					int//						=-1		连接数据库失败//						= 0		回滚事务成功//						非0		回滚事务失败// Parameter//					无//// Version	Date		Editor		Modification// 1.0		2008/04/17	顾文良		新建//******************************************************************************int CSqlPort::RollBack(){	if(m_mysql == NULL)	{		printf("Connect ERROR!\n");		return -1;	}	int flg;	flg = mysql_query(m_mysql, "ROLLBACK");	if(flg == 0)	{		printf("ROLLBACK Success\n");		return flg;	}	else	{		printf("ROLLBACK Error!\n");		return flg;	}}//******************************************************************************// Function Name//					Commit()// Function Desc//					提交事务// Return Value//					int//						=-1		连接数据库失败//						= 0		提交事务成功//						非0		提交事务失败// Parameter//					无//// Version	Date		Editor		Modification// 1.0		2008/04/17	顾文良		新建//******************************************************************************int CSqlPort::Commit(){	if(m_mysql == NULL)	{		printf("Connect ERROR!\n");		return -1;	}	int flg;	flg = mysql_query(m_mysql, "COMMIT");	if(flg == 0)	{		printf("COMMIT Success\n");		return flg;	}	else	{		printf("COMMIT Error!\n");		return flg;	}}//******************************************************************************// Function Name//					Transcation()// Function Desc//					完整的一个事务过程// Return Value//					int//						=-1		连接数据库失败//						= 0		提交事务成功//						= 1		操作失败// Parameter//					[in]char *cmds	SQL语句//// Version	Date		Editor		Modification// 1.0		2008/04/17	顾文良		新建//******************************************************************************int   CSqlPort::Transcation(char *cmds)
{
	//事务处理
    int Flag  =  0;  
	if   (mysql_query(m_mysql,"BEGIN "))//或者使用"START TRANSACTION"
	{
		printf( "error:   BEGIN \n");
        Flag   =   1;  
        return(1);  
	}
//	mysql_query(m_mysql, "set @@autocommit = 0");
	//执行SQL语句
	if(Flag == 0)
	{
		if(mysql_query(m_mysql, cmds))
		{		
			printf( "ERROR: %S\n ",cmds);
            Flag = 1;  
			//   出错数据回滚
			mysql_query(m_mysql, "ROLLBACK ");      
			return(1);
		}
	}
    //   正确就commit提交数据  
	if(Flag == 0)
	{  
		if(mysql_query(m_mysql,   "COMMIT "))
		{
			printf( "error:   COMMIT \n");
			return(1);
		}
	}
} 

⌨️ 快捷键说明

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