MFC连接数据库问题,急!!!!!
我在工程定义了一个CDataBase类
把连接等函数都放在类里面;
然后在工程的对话框中对数据库进行插入,并不能插入,高手帮我看下。
BOOL CDataBase::ExecSQL(CString strSQL)
{
_variant_t var;
try
{
_RecordsetPtr pRs = m_spAdoCon->Execute(_bstr_t(strSQL), &var, adCmdText | adExecuteNoRecords);
}
catch(...)
{
var.Clear();
return FALSE;
}
return TRUE;
}
void CPhonebookDlg::OnButtonTianjia()
{
CPhonebookDlg1 dlg;
dlg.DoModal();
CDataBase DataBase;
bool tt=DataBase.ConnectDatabase(DataBase.GetDataBasePath());
CString strSQL;
strSQL.Format(_T("SELECT FROM phonebook WHERE name=dlg.m_edit1_name"));
if(DataBase.ExecSQL(strSQL))
MessageBox("这个用户在电话薄上已经存在!","Phone",MB_OK);
else{
strSQL.Format(_T("INSERT INTO phonebook (name,sex,age,relationship,phone,mobile,mail,youzheng,address,company)values(dlg.m_edit1_name,dlg.m_edit1_sex,dlg.m_edit1_nianling,dlg.m_edit1_guanxi,dlg.m_edit1_dianhua,dlg.m_edit1_phone,dlg.m_edit1_mail,dlg.m_edit1_youzheng,dlg.m_edit1_dizhi,dlg.m_edit1_gongsi)"));
DataBase.ExecSQL(strSQL);
DataBase.DisConnect();
m_listctrl.DeleteAllItems();
GetAllInformation();
}
// dlg.EndDialog();
// TODO: Add your control notification handler code here
}
我能看到,连接数据库是成功了的!
而且在INSERT 语句中的插入值也是对的
数据库的字段也是对的
但是在执行ExecSQL函数的时候
都是return false
并不能判断如果输入的用户相同的时候的情况!
并且输入新用户也并不能对数据库进行插入
m_listctrl这个是listctrl控件的对象