📄 readerbook.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 + -