📄 publicquery.cpp
字号:
// PublicQuery.cpp : implementation file
//
#include "stdafx.h"
#include "SoftDocSystem.h"
#include "PublicQuery.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPublicQuery dialog
extern CString PublicUserName;
CPublicQuery::CPublicQuery(CWnd* pParent /*=NULL*/)
: CDialog(CPublicQuery::IDD, pParent)
{
//{{AFX_DATA_INIT(CPublicQuery)
m_SoftName = _T("");
m_SoftNumber = _T("");
m_Xinghao = _T("");
m_SoftType = _T("");
m_Author = _T("");
m_GeShi = _T("");
m_Stime = 0;
m_Etime = 0;
//}}AFX_DATA_INIT
}
void CPublicQuery::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPublicQuery)
DDX_Control(pDX, IDC_COMBO5, m_AuthorCtrl);
DDX_Control(pDX, IDC_COMBO3, m_XinghaoCtrl);
DDX_Control(pDX, IDC_LIST1, m_List);
DDX_Control(pDX, IDC_TAB1, m_Tab);
DDX_CBString(pDX, IDC_COMBO1, m_SoftName);
DDX_CBString(pDX, IDC_COMBO2, m_SoftNumber);
DDX_CBString(pDX, IDC_COMBO3, m_Xinghao);
DDX_CBString(pDX, IDC_COMBO4, m_SoftType);
DDX_CBString(pDX, IDC_COMBO5, m_Author);
DDX_CBString(pDX, IDC_COMBO6, m_GeShi);
DDX_DateTimeCtrl(pDX, IDC_DATETIME1, m_Stime);
DDX_DateTimeCtrl(pDX, IDC_DATETIME2, m_Etime);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPublicQuery, CDialog)
//{{AFX_MSG_MAP(CPublicQuery)
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnSelchangeTab)
ON_BN_CLICKED(IDC_CHECK8, OnCheck8)
ON_BN_CLICKED(IDC_CHECK7, OnCheck7)
ON_WM_CLOSE()
ON_BN_CLICKED(IDC_BUTTON2, OnPrint)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
ON_WM_DESTROY()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPublicQuery message handlers
BOOL CPublicQuery::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
//初始化TAB空间
TC_ITEM* m_pTCItem;
m_pTCItem=new TC_ITEM;
m_pTCItem->mask=TCIF_TEXT;
m_pTCItem->pszText="软件文档库存";
m_Tab.InsertItem(0,m_pTCItem);
m_pTCItem->pszText="用户资料";
m_Tab.InsertItem(1,m_pTCItem);
m_pTCItem->pszText="借出文档";
m_Tab.InsertItem(2,m_pTCItem);
m_pTCItem->pszText="作废文档";
m_Tab.InsertItem(3,m_pTCItem);
m_pTCItem->pszText="交易记录";
m_Tab.InsertItem(4,m_pTCItem);
m_pTCItem->pszText="操作日志";
m_Tab.InsertItem(5,m_pTCItem);
ConnectDataBase();
InitList();
GetDlgItem(IDC_DATETIME1)->EnableWindow(false);
GetDlgItem(IDC_DATETIME2)->EnableWindow(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CPublicQuery::InitList()
{
UpdateData();
m_List.DeleteAllItems ();//状态报告
for (int i=m_ListNumber-1;i>-1;i--)
m_List.DeleteColumn(i);
int Choice=m_Tab.GetCurSel();
switch(Choice)
{
case 0:
{
m_List.InsertColumn (0,"软件名称");
m_List.InsertColumn (1,"作者");
m_List.InsertColumn (2,"格式");
m_List.InsertColumn (3,"软件类型");
m_List.InsertColumn (4,"功能描述");
m_List.InsertColumn (5,"所属型号");
m_List.InsertColumn (6,"所属系统");
m_List.InsertColumn (7,"软件编号");
m_List.InsertColumn (8,"入库日期");
m_ListNumber=9;
RECT rect;
m_List.GetWindowRect(& rect);
int wid=(rect.right -rect.left );
m_List.SetColumnWidth(0,wid/8);
m_List.SetColumnWidth(1,wid/5);
m_List.SetColumnWidth(2,wid/10);
m_List.SetColumnWidth(3,wid/5);
m_List.SetColumnWidth(4,wid/4);
m_List.SetExtendedStyle (LVS_EX_FULLROWSELECT);
break; }
case 1:
{
m_List.InsertColumn (0,"用户名");
m_List.InsertColumn (1,"真实姓名");
m_List.InsertColumn (2,"部门");
m_List.InsertColumn (3,"联系电话");
m_List.InsertColumn (4,"注册日期");
m_List.InsertColumn (5,"详细信息");
m_ListNumber=6;
RECT rect;
m_List.GetWindowRect(& rect);
int wid=(rect.right -rect.left )/5;
m_List.SetColumnWidth(0,wid);
m_List.SetColumnWidth(1,wid);
m_List.SetColumnWidth(2,wid);
m_List.SetColumnWidth(3,wid);
m_List.SetColumnWidth(4,wid);
m_List.SetExtendedStyle (LVS_EX_FULLROWSELECT);
break; }
case 2:
{
m_List.InsertColumn (0,"软件名称");
m_List.InsertColumn (1,"作者");
m_List.InsertColumn (2,"格式");
m_List.InsertColumn (3,"软件类型");
m_List.InsertColumn (4,"借者");
m_List.InsertColumn (5,"软件编号");
m_ListNumber=6;
RECT rect;
m_List.GetWindowRect(& rect);
int wid=(rect.right -rect.left );
m_List.SetColumnWidth(0,wid/8);
m_List.SetColumnWidth(1,wid/5);
m_List.SetColumnWidth(2,wid/10);
m_List.SetColumnWidth(3,wid/5);
m_List.SetColumnWidth(4,wid/4);
m_List.SetExtendedStyle (LVS_EX_FULLROWSELECT);
break; }
case 3:
{
m_List.InsertColumn (0,"软件名称");
m_List.InsertColumn (1,"作者");
m_List.InsertColumn (2,"格式");
m_List.InsertColumn (3,"软件类型");
m_List.InsertColumn (4,"功能描述");
m_List.InsertColumn (5,"所属型号");
m_List.InsertColumn (6,"所属系统");
m_List.InsertColumn (7,"软件编号");
m_List.InsertColumn (8,"入库时间");
m_List.InsertColumn (9,"作废日期");
m_ListNumber=10;
RECT rect;
m_List.GetWindowRect(& rect);
int wid=(rect.right -rect.left );
m_List.SetColumnWidth(0,wid/8);
m_List.SetColumnWidth(1,wid/5);
m_List.SetColumnWidth(2,wid/10);
m_List.SetColumnWidth(3,wid/5);
m_List.SetColumnWidth(4,wid/4);
m_List.SetExtendedStyle (LVS_EX_FULLROWSELECT);
break; }
case 4:
{
m_List.InsertColumn (0,"交易编号");
m_List.InsertColumn (1,"用户名");
m_List.InsertColumn (2,"交易类别");
m_List.InsertColumn (3,"软件名称");
m_List.InsertColumn (4,"格式");
m_List.InsertColumn (5,"软件编号");
m_List.InsertColumn (6,"交易时间");
m_ListNumber=7;
RECT rect;
m_List.GetWindowRect(& rect);
int wid=(rect.right -rect.left );
m_List.SetColumnWidth(0,wid/8);
m_List.SetColumnWidth(1,wid/5);
m_List.SetColumnWidth(2,wid/10);
m_List.SetColumnWidth(3,wid/5);
m_List.SetColumnWidth(4,wid/4);
m_List.SetExtendedStyle (LVS_EX_FULLROWSELECT);
break; }
case 5:
{
m_List.InsertColumn (0,"日志编号");
m_List.InsertColumn (1,"操作者");
m_List.InsertColumn (2,"操作类型");
m_List.InsertColumn (3,"操作内容");
m_List.InsertColumn (4,"操作时间");
m_ListNumber=5;
RECT rect;
m_List.GetWindowRect(& rect);
int wid=(rect.right -rect.left );
m_List.SetColumnWidth(0,wid/8);
m_List.SetColumnWidth(1,wid/5);
m_List.SetColumnWidth(2,wid/10);
m_List.SetColumnWidth(3,wid/5);
m_List.SetColumnWidth(4,wid/4);
m_List.SetExtendedStyle (LVS_EX_FULLROWSELECT);
break; }
}
}
void CPublicQuery::OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
UpdateData();
GetDlgItem(IDC_LIST1)->ShowWindow(SW_HIDE);
InitList();
GetDlgItem(IDC_LIST1)->ShowWindow(SW_SHOW);
((CButton*)GetDlgItem(IDC_CHECK8))->SetCheck(false);
int Choice=m_Tab.GetCurSel();
switch(Choice){
case 0:
{GetDlgItem(IDC_COMBO1)->EnableWindow(true);
GetDlgItem(IDC_COMBO2)->EnableWindow(true);
GetDlgItem(IDC_COMBO3)->EnableWindow(true);
GetDlgItem(IDC_COMBO4)->EnableWindow(true);
GetDlgItem(IDC_COMBO5)->EnableWindow(true);
GetDlgItem(IDC_COMBO6)->EnableWindow(true);
((CButton*)GetDlgItem(IDC_CHECK7))->SetCheck(false);
GetDlgItem(IDC_CHECK7)->EnableWindow(false);
break;
}
case 1:
{GetDlgItem(IDC_COMBO1)->EnableWindow(false);
GetDlgItem(IDC_COMBO2)->EnableWindow(false);
GetDlgItem(IDC_COMBO3)->EnableWindow(false);
GetDlgItem(IDC_COMBO4)->EnableWindow(false);
GetDlgItem(IDC_COMBO5)->EnableWindow(false);
GetDlgItem(IDC_COMBO6)->EnableWindow(false);
((CButton*)GetDlgItem(IDC_CHECK7))->SetCheck(false);
GetDlgItem(IDC_CHECK7)->EnableWindow(false);
break;
}
case 2:
{GetDlgItem(IDC_COMBO1)->EnableWindow(false);
GetDlgItem(IDC_COMBO2)->EnableWindow(false);
GetDlgItem(IDC_COMBO3)->EnableWindow(false);
GetDlgItem(IDC_COMBO4)->EnableWindow(false);
GetDlgItem(IDC_COMBO5)->EnableWindow(false);
GetDlgItem(IDC_COMBO6)->EnableWindow(false);
((CButton*)GetDlgItem(IDC_CHECK7))->SetCheck(false);
GetDlgItem(IDC_CHECK7)->EnableWindow(false);
break;
}
case 3:
{GetDlgItem(IDC_COMBO1)->EnableWindow(false);
GetDlgItem(IDC_COMBO2)->EnableWindow(false);
GetDlgItem(IDC_COMBO3)->EnableWindow(false);
GetDlgItem(IDC_COMBO4)->EnableWindow(false);
GetDlgItem(IDC_COMBO5)->EnableWindow(false);
GetDlgItem(IDC_COMBO6)->EnableWindow(false);
((CButton*)GetDlgItem(IDC_CHECK7))->SetCheck(false);
GetDlgItem(IDC_CHECK7)->EnableWindow(false);
break;
}
case 4:
{GetDlgItem(IDC_COMBO1)->EnableWindow(false);
GetDlgItem(IDC_COMBO2)->EnableWindow(false);
GetDlgItem(IDC_COMBO3)->EnableWindow(false);
GetDlgItem(IDC_COMBO4)->EnableWindow(false);
GetDlgItem(IDC_COMBO5)->EnableWindow(false);
GetDlgItem(IDC_COMBO6)->EnableWindow(false);
((CButton*)GetDlgItem(IDC_CHECK7))->SetCheck(false);
GetDlgItem(IDC_CHECK7)->EnableWindow(true);
break;
}
case 5:
{GetDlgItem(IDC_COMBO1)->EnableWindow(false);
GetDlgItem(IDC_COMBO2)->EnableWindow(false);
GetDlgItem(IDC_COMBO3)->EnableWindow(false);
GetDlgItem(IDC_COMBO4)->EnableWindow(false);
GetDlgItem(IDC_COMBO5)->EnableWindow(false);
GetDlgItem(IDC_COMBO6)->EnableWindow(false);
((CButton*)GetDlgItem(IDC_CHECK7))->SetCheck(false);
GetDlgItem(IDC_CHECK7)->EnableWindow(true);
break;
}
}
*pResult = 0;
}
void CPublicQuery::FindSoftWare()
{
//条件查询
UpdateData();
CString sql_,str2,str;
_RecordsetPtr Myset;
CString geshi[6];
geshi[1]="软盘";
geshi[2]="光盘";
geshi[4]="文本";
geshi[3]="硬盘";
geshi[5]="其他";
_variant_t Holder;
sql_="select * from SoftDocInfo where";
m_SoftName.TrimRight(" ");
m_Xinghao.TrimRight (" ");
m_SoftType.TrimRight (" ");
str.Format (" 软件类型 ='%s'",m_SoftType);
if(!m_SoftType.IsEmpty ())sql_+=str;
str.Format (" and 软件名称 ='%s'", m_SoftName);
if(!m_SoftName.IsEmpty ())sql_+=str;
str.Format (" and 所属型号 ='%s'",m_Xinghao);
if(!m_Xinghao.IsEmpty ())sql_+=str;
str.Format(" and 作者 ='%s'",m_Author);
if(!m_Author.IsEmpty ())sql_+=str;
str.Format (" or 软件编号 ='%s'",m_SoftNumber);
if(!m_SoftNumber.IsEmpty ())sql_+=str;
str.Format (" and %s ='在家'",m_GeShi);
if(!m_GeShi.IsEmpty ())sql_+=str;
//查找所需软件稳当
Myset.CreateInstance (__uuidof(Recordset));
_bstr_t Mysql=sql_;
_bstr_t source=m_strSource;
m_List.DeleteAllItems ();
try{
Myset->Open (Mysql,source,adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error &e){
AfxMessageBox(e.ErrorMessage());return;}
int Shumu=0;
while(!Myset->adoEOF)//记录数
{Shumu+=1;
Myset->MoveNext ();}
if(Shumu<1)return;
Myset->MoveFirst ();
int i=0;
int j=0;
CString mystr;
CString softnumber,softname,softauthor,softtype,softfunction,softxinghao,softxitong,softdate;
while(!Myset->adoEOF ){
//每一入库格式一行
Holder=Myset->GetCollect ("软件名称");
if(Holder.vt!=VT_NULL)
{softname=(char*)(_bstr_t)Holder;
softname.TrimRight(" ");}
Holder=Myset->GetCollect ("软件编号");
if(Holder.vt!=VT_NULL)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -