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

📄 jeah_datadlg.cpp

📁 图书管理系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
// jeah_dataDlg.cpp : implementation file
//

#include "stdafx.h"
#include "jeah_data.h"
#include "jeah_dataDlg.h"
#include "Gshi.h"
#include "Shhao.h"
#include "sqltypes.h"
#include "sql.h"
#include "sqlext.h"
#include "Hydj.h"
#include "Hydj2.h"
#include "Jclist.h"
#include "Yqlist.h"
#include "Hytj.h"
#include "MsgeBox.h"



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

HSTMT FAR* phstmt;
HENV henv;
HDBC hdbc;
RETCODE rc;
RETCODE rc1,rc2;
extern len_bck;

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CJeah_dataDlg dialog

CJeah_dataDlg::CJeah_dataDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CJeah_dataDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CJeah_dataDlg)
	m_bookname = _T("");
	m_booknum = _T("");
	m_kanum = _T("");
	m_name = _T("");
	m_conmsge = _T("");
//	m_lbmsge = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CJeah_dataDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CJeah_dataDlg)
	DDX_Control(pDX, IDC_BUTTONLEN, m_len);
	DDX_Control(pDX, IDC_BUTTONKA, m_ka);
	DDX_Control(pDX, IDC_BUTTONBK, m_bk);
	DDX_Control(pDX, ID_YQTJ, m_yqtj);
	DDX_Control(pDX, IDC_BUTTONBCK, m_back);
	DDX_Control(pDX, ID_XSDJ, m_xsdj);
	DDX_Control(pDX, ID_TCXT, m_tcxt);
	DDX_Control(pDX, ID_SHHAO, m_shhao);
	DDX_Control(pDX, ID_QUEDING, m_queding);
	DDX_Control(pDX, ID_JCTJ, m_jctj);
	DDX_Control(pDX, ID_HYTJ, m_hyjt);
	DDX_Control(pDX, ID_HYDJ, m_hydj);
	DDX_Control(pDX, ID_GSHI, m_gshi);
	DDX_Control(pDX, ID_CTIAN, m_ctian);
	DDX_Control(pDX, ID_CONNECT, m_connect);
	DDX_Control(pDX, ID_BREAK, m_break);
	DDX_Text(pDX, IDC_BKNAME, m_bookname);
	DDX_Text(pDX, IDC_BKNUM, m_booknum);
	DDX_Text(pDX, IDC_KANUM, m_kanum);
	DDX_Text(pDX, IDC_NAME, m_name);
	DDX_Text(pDX, IDC_INFOCB, m_conmsge);
//	DDX_Text(pDX, IDC_INFOLB, m_lbmsge);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CJeah_dataDlg, CDialog)
	//{{AFX_MSG_MAP(CJeah_dataDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()	
	ON_BN_CLICKED(ID_QUEDING, OnQueding)
	ON_BN_CLICKED(ID_CONNECT, OnConnect)
	ON_BN_CLICKED(ID_BREAK, OnBreak)
	ON_BN_CLICKED(ID_TCXT, OnTcxt)
	ON_BN_CLICKED(IDC_BUTTONLEN, OnButtonlen)
	ON_BN_CLICKED(IDC_BUTTONBCK, OnButtonbck)
	ON_BN_CLICKED(IDC_BUTTONKA, OnButtonka)
	ON_BN_CLICKED(IDC_BUTTONBK, OnButtonbk)
	ON_BN_CLICKED(ID_GSHI, OnGshi)
	ON_BN_CLICKED(ID_CTIAN, OnCtian)
	ON_BN_CLICKED(ID_SHHAO, OnShhao)
	ON_BN_CLICKED(ID_XSDJ, OnXsdj)
	ON_BN_CLICKED(ID_HYDJ, OnHydj2)
	ON_BN_CLICKED(ID_JCTJ, OnJctj)
	ON_BN_CLICKED(ID_YQTJ, OnYqtj)
	ON_BN_CLICKED(ID_HYTJ, OnHytj)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CJeah_dataDlg message handlers

BOOL CJeah_dataDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	GetDlgItem(ID_CONNECT)->EnableWindow(true);
	GetDlgItem(ID_TCXT)->EnableWindow(true);
	GetDlgItem(ID_BREAK)->EnableWindow(false);
	GetDlgItem(ID_QUEDING)->EnableWindow(false);
	GetDlgItem(IDC_BUTTONKA)->EnableWindow(false);
	GetDlgItem(IDC_BUTTONBK)->EnableWindow(false);
	GetDlgItem(ID_CTIAN)->EnableWindow(false);
	GetDlgItem(IDC_BUTTONLEN)->EnableWindow(false);
	GetDlgItem(IDC_BUTTONBCK)->EnableWindow(false);
	GetDlgItem(ID_HYTJ)->EnableWindow(false);
	GetDlgItem(ID_GSHI)->EnableWindow(false);
	GetDlgItem(ID_SHHAO)->EnableWindow(false);
	GetDlgItem(ID_JCTJ)->EnableWindow(false);
	GetDlgItem(ID_YQTJ)->EnableWindow(false);
	GetDlgItem(ID_XSDJ)->EnableWindow(FALSE);
	GetDlgItem(ID_HYDJ)->EnableWindow(FALSE);

	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CJeah_dataDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CJeah_dataDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CJeah_dataDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CJeah_dataDlg::OnOk9() 
{
	// TODO: Add your control notification handler code here
	
}

void CJeah_dataDlg::OnQueding() 
{
	// TODO: Add your control notification handler code here
		RETCODE rc;
RETCODE rc1,rc2;
HSTMT FAR* phstmt;
int i=0;
	if(len_bck==1) 
	{
	CString	sql;
	CString sqlstr;
	CString sqlchk2;
	CString sqlchk1;
	CString sqlupd;
	char *b;
	char *c;
	char * b2;
	char * b1;
	char * d;
	char *rgbValue;
	SDWORD FAR *pcbValue;
	b=(char*)malloc(200); 
	c=(char*)malloc(200);
	b2=(char*)malloc(200);
	b1=(char*)malloc(200);
	d=(char*)malloc(200);
	phstmt=(HSTMT FAR *)malloc(sizeof(HSTMT FAR));
	rgbValue=(char*)malloc(200);
	pcbValue=(SDWORD FAR*)malloc(sizeof(SDWORD FAR));
	UpdateData(true);
	sqlchk1="select 姓名,注销 from 读者表 where 卡号="+m_kanum;
	strcpy(b1,sqlchk1.GetBuffer(sqlchk1.GetLength()));
 	SQLAllocStmt(hdbc,phstmt);
	rc=SQLExecDirect(*phstmt,(UCHAR FAR *)b1,SQL_NTS);
	if(rc==SQL_SUCCESS)
	{
	    SQLFetch(*phstmt);
		rc=SQLGetData(*phstmt,1,SQL_C_CHAR,rgbValue,200,pcbValue);
		if(rc==SQL_SUCCESS) 
		{
		//	AfxMessageBox("haha");
			if(m_name!=rgbValue)
              {
			//	AfxMessageBox("姓名与卡号不匹配,请重新输入!");
				MsgeBox mb;
				mb.m_msge=_T("姓名与卡号不匹配\n\n请重新输入!!");
				UpdateData(false);
				mb.DoModal();
                GetDlgItem(IDC_KANUM)->SetFocus();
				i=1;			    
              }
			else //else
			{
				rc=SQLGetData(*phstmt,2,SQL_C_CHAR,rgbValue,200,pcbValue);
			//	AfxMessageBox()
				if(strcmp(rgbValue,"1")==0)
				{
				//	AfxMessageBox("该卡已借过书,不能再借!");
					MsgeBox mb;
					mb.m_msge=_T("该卡已借过书\n\n不能再借!");
					UpdateData(false);
					mb.DoModal();
				    i=1;
				}
				else{
					 if(strcmp(rgbValue,"2")==0)
					 {
						 //AfxMessageBox("该卡已挂失!");
						 MsgeBox mb;
					mb.m_msge=_T("\n该卡已挂失!");
					UpdateData(false);
					mb.DoModal();
						 i=1;
					 }
					 else
					 {
						 if(strcmp(rgbValue,"3")==0)
						 {
						//	 AfxMessageBox("该号已被删!");
							 MsgeBox mb;
					mb.m_msge=_T("\n该号已被删!!");
					UpdateData(false);
					mb.DoModal();
							 i=1;
						 }
						 else{
						        int count;	
								sql="select datediff(day,有效时间,getdate()) from 读者表 where 卡号=";
								sql+=m_kanum; 
								strcpy(b2,sql.GetBuffer(sql.GetLength()));								
							    rc2=SQLAllocStmt(hdbc,phstmt);
								rc2=SQLExecDirect(*phstmt,(UCHAR FAR*)b2,SQL_NTS);								
								SQLFetch(*phstmt);
								rc2=SQLGetData(*phstmt,1,SQL_C_CHAR,rgbValue,200,pcbValue);							
								count=atoi(rgbValue);                                							
								if(count>0)
								{
							//	AfxMessageBox("你的卡已过期!");
								MsgeBox mb;
								mb.m_msge=_T("\n你的卡已过期!");
								UpdateData(false);
								mb.DoModal();
								i=1;
								}
								else
								{
										
					
								sqlchk2="select 书名 from 书库表 where 书号="+m_booknum;
								strcpy(b2,sqlchk2.GetBuffer(sqlchk2.GetLength()));
 								SQLAllocStmt(hdbc,phstmt);
									rc=SQLExecDirect(*phstmt,(UCHAR FAR *)b2,SQL_NTS);
									if(rc==SQL_SUCCESS)
								{
								   SQLFetch(*phstmt);
									rc=SQLGetData(*phstmt,1,SQL_C_CHAR,rgbValue,200,pcbValue);
									if(rc==SQL_SUCCESS) 
										{
									//	AfxMessageBox("haha");
											if(m_bookname!=rgbValue)
										{
										//	AfxMessageBox("书名与书号不匹配,请重新输入!");
											MsgeBox mb;
								mb.m_msge=_T("书名与书号不匹配\n\n请重新输入!");
								UpdateData(false);
								mb.DoModal();
											 GetDlgItem(IDC_KANUM)->SetFocus();
											i=1;		    

⌨️ 快捷键说明

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