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

📄 hydj2.cpp

📁 图书管理系统
💻 CPP
字号:
// Hydj2.cpp : implementation file
//

#include "stdafx.h"
#include "jeah_data.h"
#include "Hydj2.h"
#include "sqltypes.h"
#include "sql.h"
#include "sqlext.h"
//HSTMT FAR* phstmt;
extern HENV henv;
extern HDBC hdbc;
//RETCODE rc;
//RETCODE rc1,rc2;
extern len_bck;
#include "MsgeBox.h"

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

/////////////////////////////////////////////////////////////////////////////
// Hydj2 dialog


Hydj2::Hydj2(CWnd* pParent /*=NULL*/)
	: CDialog(Hydj2::IDD, pParent)
{
	//{{AFX_DATA_INIT(Hydj2)
	m_age = _T("");
	m_gzdw = _T("");
	m_kanum = _T("");
	m_lxdh = _T("");
	m_mima1 = _T("");
	m_mima2 = _T("");
	m_name = _T("");
	m_sex = _T("");
	//}}AFX_DATA_INIT
}


void Hydj2::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Hydj2)
	DDX_Control(pDX, IDOK3, m_ok2);
	DDX_Control(pDX, IDOK, m_ok1);
	DDX_Text(pDX, IDC_AGE, m_age);
	DDX_Text(pDX, IDC_GZDW, m_gzdw);
	DDX_Text(pDX, IDC_KANUM, m_kanum);
	DDX_Text(pDX, IDC_LXDH, m_lxdh);
	DDX_Text(pDX, IDC_MIMA1, m_mima1);
	DDX_Text(pDX, IDC_MIMA2, m_mima2);
	DDX_Text(pDX, IDC_NAME, m_name);
	DDX_Text(pDX, IDC_SEX, m_sex);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Hydj2, CDialog)
	//{{AFX_MSG_MAP(Hydj2)
	ON_BN_CLICKED(IDOK3, OnOk3)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Hydj2 message handlers

void Hydj2::OnOK() 
{
	// TODO: Add extra validation here
	
	int i=0;
	HSTMT *phstmt;
	CString sql;
	CString sqlchk;
	RETCODE rc;
	char *a;
	SDWORD FAR *pcbValue;
	char *rgbValue;
	a=(char*)malloc(300);
	phstmt=(HSTMT FAR *)malloc(sizeof(HSTMT FAR));
	rgbValue=(char*)malloc(200);
	pcbValue=(SDWORD FAR*)malloc(sizeof(SDWORD FAR));
	UpdateData(true);
	sql="select count(*) from 读者表 where 卡号=";
	sql+=m_kanum;
	strcpy(a,sql.GetBuffer(sql.GetLength()));
	SQLAllocStmt(hdbc,phstmt);
	rc=SQLExecDirect(*phstmt,(UCHAR FAR *)a,SQL_NTS);
	SQLFetch(*phstmt);
	SQLGetData(*phstmt,1,SQL_C_CHAR,rgbValue,100,pcbValue);
	if(strcmp(rgbValue,"1")!=0)
	{
	if(m_mima1!=m_mima2)
	{
	//	AfxMessageBox("两次密码输入不相同!");
		MsgeBox mb;
		mb.m_msge=_T("\n两次密码输入不相同!");
		UpdateData(false);
		mb.DoModal();
		i=2;
	}
	else
	{
		sql="insert into 读者表(卡号,姓名,密码,性别,年龄,工作单位,联系电话,登记时间,有效时间,余额,注销)values("
			+m_kanum+",'"+m_name+"',"+m_mima1+",'"+m_sex+"',"+m_age+",'"+m_gzdw+"',"
				 +m_lxdh+",getdate(),getdate()+365,70,0)";
	//	AfxMessageBox(sql);
		strcpy(a,sql.GetBuffer(sql.GetLength()));
	//	AfxMessageBox(a);
		SQLAllocStmt(hdbc,phstmt);
		rc=SQLExecDirect(*phstmt,(UCHAR FAR *)a,SQL_NTS);
		if(rc==SQL_SUCCESS)
		{
			MsgeBox mb;
		mb.m_msge=_T("\n系统已登记!");
		UpdateData(false);
		mb.DoModal();
			m_kanum=_T("");
			m_name=_T("");
			m_mima1=_T("");
			m_mima2=_T("");
			m_sex=_T("");
			m_age=_T("");
			m_gzdw=_T("");
			m_lxdh=_T("");
			UpdateData(false);
			GetDlgItem(IDC_KANUM)->SetFocus();
		}
		else
		{
		//	AfxMessageBox("输入不正确");
		MsgeBox mb;
		mb.m_msge=_T("\n输入不正确");
		UpdateData(false);
			mb.DoModal();
			GetDlgItem(IDC_KANUM)->SetFocus();
			i=1;
		}
		
	}
	}
	else
	{
	//	AfxMessageBox("该卡号已被占用,请选择别的卡号!");
			MsgeBox mb;
		mb.m_msge=_T("该卡号已被占用\n请选择别的卡号!");
		UpdateData(false);
		mb.DoModal();
		GetDlgItem(IDC_KANUM)->SetFocus();

	}
	free(a);
	free(rgbValue);
	free(pcbValue);
	free(phstmt);
	if(i!=0)
	{
		char sourcename[30],username[10],password[10];
		strcpy(sourcename,"jeah_data_1");
		strcpy(username,"sa");
		strcpy(password,"jeah");
		SQLDisconnect(hdbc);
		SQLFreeConnect(hdbc);
		SQLFreeEnv(hdbc);
		SQLAllocEnv(&henv);
		SQLAllocConnect(henv,&hdbc);
		SQLConnect(hdbc,(UCHAR*)sourcename,SQL_NTS,(UCHAR*)username,
				                 SQL_NTS,(UCHAR*)password,SQL_NTS);
		if(i==2)
		{
			GetDlgItem(IDC_MIMA1)->SetFocus();
		}
			
	}
}

void Hydj2::OnOk3() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnOK();
	
}

⌨️ 快捷键说明

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