小弟我在用VC做一个程序,需要ADO访问SQL数据库

我在用VC做一个程序,需要ADO访问SQL数据库
按照教程做的,已经检查了好几遍。不知道问题出在哪里,求大神帮助
登录对话框连不上数据库,
以下是登录对话框的代码
void CLoginDlg::OnOK() 
{
//将对话框中编辑框的数据读取到成员变量中
UpdateData(TRUE);
//检查数据有效性
if (m_UserName == "")
{
MessageBox("请输入用户名");
return;
}
if (m_Pwd == "")
{
MessageBox("请输入密码");
return;
}
//定义CUsers对象,用于从表Users中读取数据
CUsers user;
user.GetData(m_UserName);
//如果读取的数据与用户输入数据不同,则返回
if (user.GetPwd()!= m_Pwd)
{
MessageBox("用户信息不正确,无法登录!");
return;
}
//关闭对话框
CDialog::OnOK();
}
以下是CUsers的定义(连接数据库的部分)
//数据库操作
int CUsers::HaveName(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "SELECT * FROM Users WHERE UserName='" + cUserName + "'";

//执行SELECT语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
if (m_pRecordset->adoEOF)
return -1;
else
return 1;

//断开与数据库的连接
m_AdoConn.ExitConnect();
}


void CUsers::sql_insert()
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置INSERT语句
CString strType;
strType.Format("%d", User_type);

_bstr_t vSQL;
vSQL = "INSERT INTO Users VALUES('" + UserName + "','" + Pwd + "'," 
+ strType + ")";
//执行INSERT语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}

void CUsers::sql_updatePwd(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置UPDATE语句
CString strType;
strType.Format("%d", User_type);

_bstr_t vSQL;
vSQL = "UPDATE Users SET Pwd='" + Pwd + "' WHERE UserName='" + cUserName + "'";
//执行UPDATE语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}

void CUsers::sql_delete(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置DELETE语句
_bstr_t vSQL;
vSQL = "DELETE FROM Users WHERE UserName='" + cUserName + "'";
//执行DELETE语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}

//根据员工编号读取所有字段值
void CUsers::GetData(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "SELECT * FROM Users WHERE UserName='" + cUserName + "'";
//执行SELETE语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

//返回各列的值
if (m_pRecordset->adoEOF)
CUsers();
else
{
UserName = cUserName;
Pwd = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Pwd");
User_type = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("User_type"));
}
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
以下是ADOConn.cpp
// ADOConn.cpp: implementation of the ADOConn class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "HrSys.h"
#include "ADOConn.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

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

ADOConn::ADOConn()
{

}

ADOConn::~ADOConn()
{

}
// 初始化—连接数据库
void ADOConn::OnInitADOConn()
{
// 初始化OLE/COM库环境