CTable* CMysql::OpenTableInterface(CString TableName,bool AutoCommit){ CDataBase* pDataBase = OpenDataBaseInterface(dbName); //在创建时内存所有成员变量均被初始化 CTable* pTable = new CTable(pMysqlManager,pDataBase,TableName); //将新开的CDataBase里的连接线进行连接 MYSQL *IsSucceed = mysql_real_connect(pTable->pDataBase->mysql,IP,User,PassWord,dbName,port,NULL,0); //如果连接失败则释放,但是不释放管理者,管理者只有在CMysql被释放时才会释放 if(IsSucceed == NULL){ delete pTable; pTable = 0; } pTable->Refresh(); return pTable; }
CDataBase* CUser::CreateDataBase(const std::string& NewdbName, bool ifExists) { int32_t nIsSucceed = -1; //判断是否创建成功 if (ifExists == 0) { nIsSucceed = mysql_query(m_mysql, ("create database " + NewdbName).c_str()); } if (ifExists == 1) { nIsSucceed = mysql_query(m_mysql, ("create database if not exists " + NewdbName).c_str()); } CDataBase* pDataBase = NULL; //如果成功则转到该数据库 if (nIsSucceed == 0) pDataBase = OpenDataBaseInterface(NewdbName); return pDataBase; }
CDataBase* CMysql::OpenDataBaseInterface(){ return OpenDataBaseInterface(dbName); }