主题:着急!!傻傻的问题!!!!
#include "stdafx.h"
#include "market.h"
#include "adduser.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Cadduser dialog
Cadduser::Cadduser(CWnd* pParent /*=NULL*/)
: CDialog(Cadduser::IDD, pParent)
{
//{{AFX_DATA_INIT(Cadduser)
m_user = _T("");
m_pass = _T("");
//}}AFX_DATA_INIT
}
void Cadduser::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Cadduser)
DDX_Text(pDX, IDC_EDIT1, m_user);
DDX_Text(pDX, IDC_EDIT2, m_pass);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Cadduser, CDialog)
//{{AFX_MSG_MAP(Cadduser)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Cadduser message handlers
void Cadduser::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
_RecordsetPtr pRecst; //////指向返回的数据
_ConnectionPtr pCon; //////// 创建和数据库的连接
HRESULT hr;
try
{
CString constr;
constr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=marketmdb.mdb";
pCon.CreateInstance(__uuidof(Connection));
hr = pCon->Open(_bstr_t(constr),_bstr_t(""),_bstr_t(""),adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败,确认数据库 marketmdb.mdb 是否在当前路径下!");
pCon.Release();
}
try
{
if(m_user == _T("")||m_pass == _T(""))
{
MessageBox("用户名密码不能为空!");
pCon.Release();
}
else {
CString strsql;
strsql.Format("insert into user values ('%s','%s')",\
m_user,m_pass);
pRecst=pCon->Execute(_bstr_t(strsql),NULL,adCmdText);
}
pRecst.Release();
pCon.Release();
}
catch(_com_error e)
{
AfxMessageBox("数据库操作(添加)失败!");
return;
}
if(IDYES == MessageBox("确定建立新帐户吗?","警告",MB_YESNO))
CDialog::OnOK();
else return ;
}
老说数据库操作失败!我看了下原因是那个m_user,m_pass不能读到值!这是为什么啊。
哪位高手肯帮下小弟啊!!!!