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

📄 shhao.cpp

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

#include "stdafx.h"
#include "jeah_data.h"
#include "Shhao.h"
#include "MsgeBox.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;

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

/////////////////////////////////////////////////////////////////////////////
// Shhao dialog


Shhao::Shhao(CWnd* pParent /*=NULL*/)
	: CDialog(Shhao::IDD, pParent)
{
	//{{AFX_DATA_INIT(Shhao)
	m_kanum = _T("");
	m_name = _T("");
	//}}AFX_DATA_INIT
}


void Shhao::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Shhao)
	DDX_Control(pDX, IDC_BUTTONNAME, m_btn);
	DDX_Control(pDX, IDOK2, m_ok2);
	DDX_Control(pDX, IDOK, m_ok);
	DDX_Text(pDX, IDC_KANUM, m_kanum);
	DDX_Text(pDX, IDC_NAME, m_name);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Shhao, CDialog)
	//{{AFX_MSG_MAP(Shhao)
	ON_BN_CLICKED(IDC_BUTTONNAME, OnButtonname)
	ON_BN_CLICKED(IDOK2, OnOk2)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Shhao message handlers

void Shhao::OnOK() 
{
	// TODO: Add extra validation here
	
		UpdateData(true);
	int i=0;
	HSTMT FAR* phstmt;
	RETCODE rc;
	SDWORD FAR *pcbValue;
	CString sql;	
	char * b;
	char *rgbValue;
	rgbValue=(char*)malloc(200);
	phstmt=(HSTMT FAR *)malloc(sizeof(HSTMT FAR));
	pcbValue=(SDWORD FAR*)malloc(sizeof(SDWORD FAR));
	b=(char*)malloc(200);
	sql="select 姓名 from 读者表 where 卡号="+m_kanum;
//	AfxMessageBox(sql);
	strcpy(b,sql.GetBuffer(sql.GetLength()));
 //   AfxMessageBox(b);
	SQLAllocStmt(hdbc,phstmt);
	rc=SQLExecDirect(*phstmt,(UCHAR FAR *)b,SQL_NTS);
	if(rc!=SQL_SUCCESS)
	{
		//AfxMessageBox("请正确输入!");
		MsgeBox mb;
					mb.m_msge=_T("\n请正确输入!");
					UpdateData(false);
					mb.DoModal();
		i=1;
	}
	else 
	{
		SQLFetch(*phstmt);
		rc=SQLGetData(*phstmt,1,SQL_C_CHAR,rgbValue,200,pcbValue);
		if(rgbValue!=m_name)
		{
		//	AfxMessageBox("姓名与卡号不匹配!");
				MsgeBox mb;
					mb.m_msge=_T("\n姓名与卡号不匹配!");
					UpdateData(false);
					mb.DoModal();
			i=1;
		}
		else
		{
			sql="update 读者表 set 注销=3 where 卡号=";
			sql+=m_kanum;
			strcpy(b,sql.GetBuffer(sql.GetLength()));
 			SQLAllocStmt(hdbc,phstmt);
			rc=SQLExecDirect(*phstmt,(UCHAR FAR *)b,SQL_NTS);
			if(rc==SQL_SUCCESS)
			{
			//	AfxMessageBox("系统已登记!");
					MsgeBox mb;
					mb.m_msge=_T("\n系统已登记!");
					UpdateData(false);
					mb.DoModal();
				m_kanum=_T("");
				m_name=_T("");				
				UpdateData(false);
				GetDlgItem(IDC_KANUM)->SetFocus();
			}

		}
	}
	if(i=1)
	{
		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);
	}
	free(b);
	free(rgbValue);
	free(phstmt);
	free(pcbValue);

	
//	CDialog::OnOK();
}

void Shhao::OnButtonname() 
{
	// TODO: Add your control notification handler code here
			HSTMT FAR* phstmt;
	phstmt=(HSTMT FAR *)malloc(sizeof(HSTMT FAR));
	UpdateData(true);
	char * b;
	char *rgbValue;
	RETCODE rc;
	SDWORD FAR *pcbValue;
	rgbValue=(char*)malloc(200);
	pcbValue=(SDWORD FAR*)malloc(sizeof(SDWORD FAR));
	b=(char*)malloc(200);
	CString sql;
	sql="select 姓名 from 读者表 where 卡号="+m_kanum;
	strcpy(b,sql.GetBuffer(sql.GetLength()));
	SQLAllocStmt(hdbc,phstmt);
	rc=SQLExecDirect(*phstmt,(UCHAR FAR *)b,SQL_NTS);
	if(rc==SQL_SUCCESS)
	{
	    SQLFetch(*phstmt);
		rc=SQLGetData(*phstmt,1,SQL_C_CHAR,rgbValue,100,pcbValue);
		if(rc==SQL_SUCCESS) 
		{	
			m_name=rgbValue;
			UpdateData(false);
		}	
		else 
		{
			//AfxMessageBox("找不到与此卡号对应的姓名!");
			MsgeBox mb;
					mb.m_msge=_T("\n找不到与此卡号对应的姓名!");
					UpdateData(false);
					mb.DoModal();
		}
	}
	else 
	{
	//	AfxMessageBox("请正确输入!!");
			MsgeBox mb;
					mb.m_msge=_T("\n请正确输入!");
					UpdateData(false);
					mb.DoModal();
	}
	sql.ReleaseBuffer(sql.GetLength());
	free(b);
	free(rgbValue);
	free(pcbValue);	
	
	
}

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

⌨️ 快捷键说明

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