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

📄 readerbook.h

📁 一个图书馆信息查询系统。是根据学校图书馆的实际情况调查后开发
💻 H
字号:
#include <windows.h>
#include "datas.h"
#include "AdoConnect.h"
#include "resource.h"

void ReaderBook(HWND);
LRESULT CALLBACK dpReaderBook(HWND, UINT, WPARAM, LPARAM);

LRESULT CALLBACK dpReaderBook(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	AdoConnect ado;
	TCHAR book[MAX_STRING];
	TCHAR author[MAX_STRING];
	TCHAR str1[MAX_STRING];
 	_bstr_t bstr;
	_RecordsetPtr pr;

	switch (message)
	{
		case WM_INITDIALOG:
				return TRUE;

		case WM_COMMAND:
			if (LOWORD(wParam) == IDRBF)
			{			
				BOOL bBook		= SendMessage(GetDlgItem(hDlg, IDC_CHECK_WITH_NAME), BM_GETCHECK, 0, 0);
				BOOL bAuthor	= SendMessage(GetDlgItem(hDlg, IDC_CHECK_WITH_AUTHOR), BM_GETCHECK, 0, 0);
				if(!bBook && !bAuthor)
					return TRUE;

 				SendMessage(GetDlgItem(hDlg, IDC_RB_NAME), WM_GETTEXT, MAX_STRING-1, (LPARAM)book);
				SendMessage(GetDlgItem(hDlg, IDC_RB_AUTHOR), WM_GETTEXT, MAX_STRING-1, (LPARAM)author);
					
				ado.OnInitDBConnect();

				if(bBook && !bAuthor)
				{
					if(0 == lstrcmp(book, ""))
					{
						MessageBox(hDlg, "图书名字不能为空!", "Fail!", MB_ICONSTOP);
						return TRUE;
					}
					UniteBSTR(bstr, var "select * from book where name='", var book, var "';");
					pr = ado.GetRecordset(bstr);
					while(!pr->adoBOF && !pr->adoEOF)
					{
  						wsprintf(str1, "%d ", atoi(lpstr pr->GetCollect("id")));
 						UniteBSTR(bstr, var "图书:Id=", var str1, var ", 作者=", var pr->GetCollect("author"), var ", 书名=", var pr->GetCollect("name"), var ", 状态=", var pr->GetCollect("state"), var ";");
						SendMessage(GetDlgItem(hDlg, IDC_RB_LIST), LB_INSERTSTRING, 0, (LPARAM)lpstr bstr);
						pr->MoveNext();
					}
				}
				
				if(!bBook && bAuthor)
				{
					if(0 == lstrcmp(author, ""))
					{
						MessageBox(hDlg, "图书的作者不能为空!", "Fail!", MB_ICONSTOP);
						return TRUE;
					}
					UniteBSTR(bstr, var "select * from book where author='", var author, var "';");
					pr = ado.GetRecordset(bstr);
					while(!pr->adoBOF && !pr->adoEOF)
					{
  						wsprintf(str1, "%d ", atoi(lpstr pr->GetCollect("id")));
 						UniteBSTR(bstr, var "图书:Id=", var str1, var ", 作者=", var pr->GetCollect("author"), var ", 书名=", var pr->GetCollect("name"), var ", 状态=", var pr->GetCollect("state"), var ";");
						SendMessage(GetDlgItem(hDlg, IDC_RB_LIST), LB_INSERTSTRING, 0, (LPARAM)lpstr bstr);
						pr->MoveNext();
					}
				}

				if(bBook && bAuthor)
				{			
					if(0 == lstrcmp(book, "") || 0 == lstrcmp(author, ""))
					{
						MessageBox(hDlg, "图书的名字与作者都不能为空!", "Fail!", MB_ICONSTOP);
						return TRUE;
					}
					UniteBSTR(bstr, var "select * from book where name='", var book, var "' and author='", var author, var "';");
					pr = ado.GetRecordset(bstr);
					while(!pr->adoBOF && !pr->adoEOF)
					{
  						wsprintf(str1, "%d ", atoi(lpstr pr->GetCollect("id")));
						UniteBSTR(bstr, var "图书:Id=", var str1, var ", 作者=", var pr->GetCollect("author"), var ", 书名=", var pr->GetCollect("name"), var ", 状态=", var pr->GetCollect("state"), var ";");
						SendMessage(GetDlgItem(hDlg, IDC_RB_LIST), LB_INSERTSTRING, 0, (LPARAM)lpstr bstr);
						pr->MoveNext();
					}
				}

 				ado.ExitConnect();
 				return TRUE;
			}

			if(LOWORD(wParam) == IDCANCEL) 
			{
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			}
		
		default:
			return FALSE;
	}
}

void ReaderBook(HWND hWnd)
{
	DialogBox((HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE), 
		(LPCTSTR)IDD_READER_BOOK, hWnd, (DLGPROC)dpReaderBook);
}

⌨️ 快捷键说明

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