⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 book.cpp

📁 一个实现ADO数据库病人预约系统的程序
💻 CPP
字号:
// Book.cpp : implementation file
//

#include "stdafx.h"
#include "login.h"
#include "Book.h"

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

/////////////////////////////////////////////////////////////////////////////
// CBook dialog


CBook::CBook(CWnd* pParent /*=NULL*/)
	: CDialog(CBook::IDD, pParent)
{
	//{{AFX_DATA_INIT(CBook)

	m_UseId = _T("");
	//}}AFX_DATA_INIT
}


void CBook::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CBook)
	DDX_Control(pDX, IDC_LIST1, m_List);
	DDX_Text(pDX, IDC_USEID, m_UseId);
	//}}AFX_DATA_MAP


}


BEGIN_MESSAGE_MAP(CBook, CDialog)
	//{{AFX_MSG_MAP(CBook)
	ON_BN_CLICKED(IDC_CHECK, OnCheck)
	ON_BN_CLICKED(IDC_REGISTER, OnRegister)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()
extern CLoginApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CBook message handlers

void CBook::OnCheck() 
{
	UpdateData();
	m_List.DeleteAllItems();
    if(!m_UseId.IsEmpty())
	{
        CString sql="SELECT * FROM users where 用户ID='"+m_UseId+"'" ;
		try
		{
			//查询数据库,看是否有此用户和密码
			m_pRecordset1.CreateInstance("ADODB.Recordset");
			m_pRecordset1->Open((_variant_t)sql,_variant_t((IDispatch*)theApp.m_pConnection1,true),
				adOpenStatic,adLockOptimistic,adCmdText);
			//如果没有此用户和密码,再查询是否有此用户
			if(m_pRecordset1->adoEOF)
			{
			AfxMessageBox("该用户未注册!");
			return;
			}
			else
			{
         /*   _variant_t a1,a2,a3,a4;
			CString strName,strSex,strAge,strIll;
			a4=m_pRecordset1->GetCollect("病史");
			a3=m_pRecordset1->GetCollect("年龄");
		    a2=m_pRecordset1->GetCollect("性别");
			a1=m_pRecordset1->GetCollect("姓名");
			strName=(LPCSTR)_bstr_t(a1);
			strSex=(LPCSTR)_bstr_t(a2);
			strAge=(LPCSTR)_bstr_t(a3);
            strIll=(LPCSTR)_bstr_t(a4);
			m_InfoList.AddString("病史:"+strIll);
			m_InfoList.AddString("年龄:"+strAge);
			m_InfoList.AddString("性别:"+strSex);
			m_InfoList.AddString("姓名:"+strName);*/
			int nItem;
			_variant_t vUserSex,vUsername,vOld,vIllness;	
            vUsername = m_pRecordset1->GetCollect("姓名");
			vUserSex = m_pRecordset1->GetCollect("性别");
			vOld = m_pRecordset1->GetCollect("年龄");
			vIllness = m_pRecordset1->GetCollect("病史");
			nItem=m_List.InsertItem(0xffff,(_bstr_t)vUsername);
			m_List.SetItem(nItem,1,1,(_bstr_t)vUserSex,NULL,0,0,0);
			m_List.SetItem(nItem,2,1,(_bstr_t)vOld,NULL,0,0,0);
			m_List.SetItem(nItem,3,1,(_bstr_t)vIllness,NULL,0,0,0);
 
			
			}
		}
		 catch(_com_error e)///捕捉异常
		{
			CString temp;
			temp.Format("连接数据库错误信息:%s",e.ErrorMessage());
			AfxMessageBox(temp);
			return;
		}
	}
	else
	{
	AfxMessageBox("请输入用户ID!");
	}

}


void CBook::OnRegister() 
{   
	static int a=0;
	UpdateData();
	CString nowtime;
	CTime now=CTime::GetCurrentTime();
	nowtime=now.Format(_T("%Y/%m/%d"));
	m_List.DeleteAllItems();
//	m_InfoList.ResetContent();

    if(!m_UseId.IsEmpty())
	{
        CString sql="SELECT * FROM users where 用户ID='"+m_UseId+"'" ;
		try
		{
			//查询数据库,看是否有此用户和密码
			m_pRecordset1.CreateInstance("ADODB.Recordset");
			m_pRecordset1->Open((_variant_t)sql,_variant_t((IDispatch*)theApp.m_pConnection1,true),
				adOpenStatic,adLockOptimistic,adCmdText);

			//如果没有此用户和密码,再查询是否有此用户
			if(m_pRecordset1->adoEOF)
			{
			AfxMessageBox("该用户未注册!");
			return;
			}
			else
			{
            //m_pRecordset1->AddNew();
			m_pRecordset1->PutCollect("预约号",long(a));
            m_pRecordset1->PutCollect("预约时间",_variant_t(nowtime));
            m_pRecordset1->Update();
			CString b;
			b.Format("%d",a);
			AfxMessageBox("你的预约号是:"+b);

			}

		}
		
		catch(_com_error e)///捕捉异常
		{
			CString temp;
			temp.Format("连接数据库错误信息:%s",e.ErrorMessage());
			AfxMessageBox(temp);
			return;
		}
	}
	else
	{
	 AfxMessageBox("请输入用户ID!");
	}
	a++;		
}

BOOL CBook::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_List.InsertColumn(0,"姓名",LVCFMT_LEFT,80);
	m_List.InsertColumn(1,"性别",LVCFMT_LEFT,60);
	m_List.InsertColumn(2,"年龄",LVCFMT_LEFT,60);
    m_List.InsertColumn(3,"病史",LVCFMT_LEFT,100);

	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -