2010년 1월 20일 수요일

MySql C API DB 리스트가져오기, 접속, 추가, 삭제

#define SQL_CREATE                     "CREATE" 
#define SQL_DROP                        "DROP" 

#define SQL_TABLE                       "TABLE"
#define SQL_DATABASE                "DATABASE"


//DB리스트를가져온다.
BOOL CMySQLDB::GetDBList(MYSQL_RES*  &Refresul)
{
             MYSQL_RES*  result =NULL;

             result= mysql_list_dbs(m_DBInfo.m_MySQL_CONNECT,"%");
             Refresul=result;
             if(result)
             {
                           while(result->data->data!=NULL){
                                        printf("있다%s\n",*(result->data->data->data));
                                        result->data->data =result->data->data->next;
                           }
                           return TRUE;
             }else
                           return FALSE;

}
//DB 접속
BOOL CMySQLDB::SelectDB(const char* DBNAME)
{
             if(!DBNAME)return FALSE;
            
             //DB접속
             m_dQuery_stat=mysql_select_db(m_DBInfo.m_MySQL_CONNECT, DBNAME);
             if (m_dQuery_stat != 0)
             {
                         //fprintf(stderr, "Mysql selectDB error : %s", mysql_error(&conn));
                           return FALSE;
             }
             return TRUE;
}
//DB생성
BOOL CMySQLDB::CreateDB(const char* DBNAME)
{
             //SQL_CREATE
             if(!DBNAME) return FALSE;

             memset(m_CommandString,0, _countof(m_CommandString));
             sprintf_s(m_CommandString,"%s %s %s",SQL_CREATE,SQL_DATABASE, DBNAME);
             cout<<m_CommandString<<endl;

             m_dQuery_stat=mysql_query(m_DBInfo.m_MySQL_CONNECT,m_CommandString);
             if (m_dQuery_stat != 0)
             {
                           return FALSE;
             }

             return TRUE;
}

//DB삭제
BOOL CMySQLDB::DeleteDB(const char* DBNAME)
{
             //SQL_CREATE
             if(!DBNAME)
                           return FALSE;

             memset(m_CommandString,0, _countof(m_CommandString));
             sprintf_s(m_CommandString,"%s %s %s",SQL_DROP,SQL_DATABASE, DBNAME);
             cout<<m_CommandString<<endl;

             m_dQuery_stat=mysql_query(m_DBInfo.m_MySQL_CONNECT,m_CommandString);
             if (m_dQuery_stat != 0)
             {
                           return FALSE;
             }

             return TRUE;
}

댓글 없음:

댓글 쓰기