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

📄 rddatabase.cpp

📁 本程序采用VC++和MySql编写的田间信息自动采集系统
💻 CPP
字号:
// RdDatabase.cpp: implementation of the CRdDatabase class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "RdDatabase.h"
#include <direct.h>
#include <stdlib.h>
#include <stdio.h>
#include <direct.h>
#include <io.h>

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CRdDatabase::CRdDatabase()
{
    m_sDB = _T("RT");
	m_sIP = _T("127.0.0.1");
	m_sPASSWORD = _T("");
	m_sPORT = _T("3306");
	m_sRESULT = _T("");
	m_sSQL = _T("");
	m_sUSER = _T("root");
	sTableName = _T("");
	InitMYSQL();
	if(!EistDB("RT")){
//			 AfxMessageBox("here");
	         CreateDB("RT");
	}
    if(Open())
	  m_bOpen = TRUE;
	 else 
      m_bOpen = FALSE;
}

CRdDatabase::~CRdDatabase()
{
   //Close();
}

BOOL CRdDatabase::Open()
{
	if ( mysql_select_db( myData, "RT" ) < 0 ){
		mysql_close( myData ) ;
		m_bOpen = FALSE;
        return FALSE;
	}
	m_bOpen = TRUE;
	return TRUE;
}
///////////////////////////////////////////////////
//           关闭数据库
///////////////////////////////////////////////////
BOOL CRdDatabase::Close()
{
   mysql_close( myData ) ;
   m_bOpen = FALSE;
   return TRUE;
}

void CRdDatabase::SetDB(CString sDB)
{
  m_sDB = sDB;
}

void CRdDatabase::SetPort(CString sPort)
{
   m_sPORT = sPort ;
}

void CRdDatabase::SetIP(CString sIP)
{
  m_sIP = sIP;
}

void CRdDatabase::SetUser(CString sUser)
{
   m_sUSER = sUser ;
}

void CRdDatabase::SetPassword(CString sPass)
{
  m_sPASSWORD = sPass ;
}

void CRdDatabase::SetSql(CString sSql)
{
   m_sSQL = sSql ;
}

BOOL CRdDatabase::InitMYSQL()
{
  if((myData=mysql_init((MYSQL*)0))&&
			mysql_real_connect( myData, m_sIP, m_sUSER, m_sPASSWORD, m_sDB, atoi(m_sPORT), NULL, 0 ) )
  {
	  return TRUE;
  }
  return FALSE;
}

BOOL CRdDatabase::IsOpen()
{
  return m_bOpen;
}

CCustResultSet CRdDatabase::Exculte()
{
   MYSQL_RES	* res ;
   if ( !mysql_query(myData,m_sSQL ) ){
      res = mysql_store_result( myData ) ;
	  theResult.SetRes(res);
   }
   return theResult;
}

BOOL CRdDatabase::EistDB(CString sDB)
{
   
   char envvar[] = "PATH";
   char buffer[_MAX_PATH];

   /* Get the current working directory: */
   if( _getcwd( buffer, _MAX_PATH ) == NULL )
      perror( "_getcwd error" );
   /* Search for file in PATH environment variable: */
   long handle=_chdir( DB);
   if(handle ==0 ){
       _chdir(buffer);
       return TRUE;
   }
   else
      return FALSE;

}

BOOL CRdDatabase::ExistTable(CString sTable)
{
   char pathbuffer[_MAX_PATH];
   char envvar[] = "PATH";
   sTable = "c:\\mysql\\data\\RT\\"+sTable+".frm";
   /* Search for file in PATH environment variable: */
   _searchenv( sTable, envvar, pathbuffer );
   if(*pathbuffer != '\0')
      return TRUE;
   else
      return FALSE;
}

void CRdDatabase::CreateDB(CString sDB)
{
  if( _mkdir( DB ) != 0 )
      AfxMessageBox("数据库不能建立!");
  else
	  InitMYSQL();

}

void CRdDatabase::CreateTable(CString sTable)
{
   if ( mysql_query(myData,sTable) ){
	  AfxMessageBox(" Can't Create the Table " );
  }

}

void CRdDatabase::Insert(CString str)
{
  if ( !mysql_query(myData,str ) ){
	  return ;
  }
}

BOOL CRdDatabase::ExistDB()
{
  return EistDB("RT");
}

BOOL CRdDatabase::Del(CString sql)
{
  if ( !mysql_query(myData,sql ) ){
	  return TRUE;
  }
  return FALSE;
}

BOOL CRdDatabase::Update(CString sql)
{
  if ( !mysql_query(myData,sql ) ){
	  return TRUE;
  }
  return FALSE;
}

⌨️ 快捷键说明

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