回 帖 发 新 帖 刷新版面

主题:着急!!傻傻的问题!!!!


#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不能读到值!这是为什么啊。
哪位高手肯帮下小弟啊!!!!

回复列表 (共2个回复)

沙发

你先查一下stdafx.h中有没有对数据库功能进行引入

板凳

看了遍 没发现错误 汗

我来回复

您尚未登录,请登录后再回复。点此登录或注册