VC界面登陆代码

来源:互联网 发布:花生壳域名远程桌面 编辑:程序博客网 时间:2024/04/29 19:53

登陆代码:

 void CLogindlg::OnOK()  {UpdateData(TRUE);if(m_Name.IsEmpty() || m_PassWord.IsEmpty()){MessageBox("用户名或密码不能为空");return FALSE;}m_Time++;ADOConn m_AdoConn;m_AdoConn.OnInitADOConn();CString sql;sql.Format("select * from 表2 where NAME='%s' and PWD='%s' and POPEDOM='1'",m_Name,m_PassWord);m_AdoConn.m_pRecordset = m_AdoConn.GetRecordSet((_bstr_t)sql);if(!m_AdoConn.m_pRecordset->adoEOF){m_UserName = m_Name;CDialog::OnOK();}else{if(m_Time == 3){MessageBox("密码3次不正确");CDialog::OnCancel();}else{MessageBox("用户名或密码不正确");m_Name = "";m_PassWord = "";UpdateData(FALSE);}}m_AdoConn.ExitConnect();}



 

ADOConn是连接代码封装的类

头文件// ADOConn.h: interface for the ADOConn class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_ADOCONN_H__5FB9A9B2_8D94_44F7_A2DA_1F37A4F33D10__INCLUDED_)#define AFX_ADOCONN_H__5FB9A9B2_8D94_44F7_A2DA_1F37A4F33D10__INCLUDED_#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000class ADOConn  {public:    _ConnectionPtr m_pConnection;        //连接对象指针_RecordsetPtr m_pRecordset;            //记录集对象指针public:_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);   //执行SQL语句查询并返回记录集指针ADOConn();virtual ~ADOConn();void OnInitADOConn();                  //连接数据库    BOOL ExecuteSQL(_bstr_t bstrSQL);        //执行SQL语句void ExitConnect();              //关闭记录集并断开数据库连接};#endif // !defined(AFX_ADOCONN_H__5FB9A9B2_8D94_44F7_A2DA_1F37A4F33D10__INCLUDED_)
源文件
// ADOConn.cpp: implementation of the ADOConn class.#include "stdafx.h"#include "SuperMarket.h"#include "ADOConn.h"#ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE[]=__FILE__;#define new DEBUG_NEW#endif//////////////////////////////////////////////////////////////////////// Construction/Destruction//////////////////////////////////////////////////////////////////////ADOConn::ADOConn(){}ADOConn::~ADOConn(){}void ADOConn::OnInitADOConn()       //用于连接数据库{try{       m_pConnection.CreateInstance("ADODB.Connection");       //创建连接对象实例   _bstr_t strConnect="Provider=MSDAORA.1;Password=mrlrn;\   User ID=system;Data Source=mrLRN;Persist Security Info=True";   m_pConnection->Open(strConnect,"","",adModeUnknown);        //打开数据库}catch(_com_error e){AfxMessageBox(e.Description());                //弹出错误处理}}BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)            //执行SQL语句{try{        if(m_pConnection==NULL)             //判断是否连接数据库     OnInitADOConn();        m_pConnection->Execute(bstrSQL,NULL,adCmdText);       //执行SQL语句return true;}catch(_com_error e){e.Description();return false;}}void ADOConn::ExitConnect()                   //关闭记录集并断开数据库连接{    if(m_pRecordset != NULL)                //判断记录集是否打开m_pRecordset->Close();            //关闭记录集m_pConnection->Close();              //断开数据库连接}_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)            //通过SQL语句打开记录集{try{if(m_pConnection==NULL)              //判断数据库是否连接              OnInitADOConn();m_pRecordset.CreateInstance(__uuidof(Recordset));           //创建记录集对象实例        m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);  //打开记录集}    catch(_com_error e){e.Description();}return m_pRecordset;             //返回记录集指针}


 

原创粉丝点击