程序调试出错(0xc000007b)

程序调试报错(0xc000007b)
本帖最后由 VisualEleven 于 2014-04-18 18:59:08 编辑
我自定义了一个SQL的类来放所有数据库操作的方法,我想要把数据库的API定义成全局变量,这样只要在连接方法和断开连接方法中调用就行了,可是我现在这么些通过编译但是不能运行, 调试就报错说应用程序无法正常启动(0xc000007b)。

这是SQL头文件

#include <my_global.h>
#pragma comment(lib,"libmySQL.lib")
#include <mysql.h>

class CDB_SQL
{
public:

int getDeviceID(int deviceType);
int ConnectDB();
int DisConnectDB();

CDB_SQL();
virtual ~CDB_SQL();

bool isConnected;
//MYSQL *conn;

MYSQL *conn;
MYSQL_RES *result;
MYSQL_ROW row;
};


这是cpp文件

#include "stdafx.h"
#include "SQL.h"
#include "ReturnNumber.h"


CDB_SQL::CDB_SQL()
{
conn = mysql_init(NULL);
CDB_SQL::isConnected = false;
}

CDB_SQL::~CDB_SQL()
{

}

int CDB_SQL::ConnectDB()
{

DisConnectDB();
mysql_real_connect(conn, "localhost", "root", "qwedcxz", "test", 3306, NULL, 0);

return DB_OK;
}

int CDB_SQL::DisConnectDB()
{
////dc_RecordSet* m_pSet=new dc_RecordSett();
////if (m_pSet->IsOpen())
////{
//// m_pSet->Close();
////} 
if (isConnected)
{
mysql_close(conn);
}

return DB_OK;
}


然后DLG部分只写了以下代码

m_date.GetWindowText(datetime);

CDB_SQL db;
CString deviceTypeName[3]={"运矿车","电铲","特种车"};
CString shiftName[3]={"早班","中班","晚班"};

m_devicetype.ResetContent();
for(int iloop=0;iloop<3;iloop++)
{
CString dtTemp;
dtTemp=deviceTypeName[iloop];
m_devicetype.AddString(dtTemp);
}

m_shift.ResetContent();
for(int iloop=0;iloop<3;iloop++)
{
CString sftTemp;
sftTemp=shiftName[iloop];
m_shift.AddString(sftTemp);
}

初学毫无头绪,从class开始单步调试也不行,谢谢各位了!!!

------解决方案--------------------
没看出有明显错误,不然试下下面的方法。
 MYSQL mysql; //数据库连接句柄

 mysql_init (&mysql);

 mysql_real_connect(&mysql,'localhost','root',NULL,'mydb',3306,NULL,0);