📄 brow.cpp
字号:
// Brow.cpp : implementation file
//
#include "stdafx.h"
#include "Tele.h"
#include "Brow.h"
#include "ado.h"
#include "teledlg.h"
#include "update.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBrow dialog
CString CBrow::g_strItem;
CBrow::CBrow(CWnd* pParent /*=NULL*/)
: CDialog(CBrow::IDD, pParent)
{
//{{AFX_DATA_INIT(CBrow)
m_strItem = _T("");
m_strSelect = _T("");
//}}AFX_DATA_INIT
}
void CBrow::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBrow)
DDX_Control(pDX, IDC_LIST, m_ListCtrl);
DDX_Text(pDX, IDC_EDIT_ITEM, m_strItem);
DDX_Text(pDX, IDC_EDIT_SELECT, m_strSelect);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBrow, CDialog)
//{{AFX_MSG_MAP(CBrow)
ON_BN_CLICKED(IDC_BUTTON_LOG, OnButtonLog)
ON_BN_CLICKED(IDC_BUTTON_DEL, OnButtonDel)
ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
ON_BN_CLICKED(IDC_BUTTON_SELECT, OnButtonSelect)
ON_BN_CLICKED(IDC_BUTTON_MODIFY, OnButtonModify)
ON_NOTIFY(NM_CLICK, IDC_LIST, OnClickList)
ON_NOTIFY(NM_RDBLCLK, IDC_LIST, OnRdblclkList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBrow message handlers
void CBrow::OnButtonLog()
{
m_ListCtrl.DeleteAllItems();
CADORecordset* pRs = new CADORecordset(CTeleApp::g_pDb);
CString TempSql;
int i = -1;
if(pRs->Open((LPCTSTR)"SELECT * FROM telelist"))
//if(pRs->Open("SELECT * FROM telelist WHERE name like '%张%' "))
{
while(!pRs->IsEof())
{
LV_ITEM lvitem;
lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
lvitem.state = 0;
lvitem.stateMask = 0;
char temp[50];
lvitem.iItem = ++i;
lvitem.iSubItem = 0;
lvitem.pszText =itoa(i, temp, 10);
m_ListCtrl.InsertItem(&lvitem);
pRs->GetFieldValue("name",TempSql);
m_ListCtrl.SetItemText(i, 1, (LPCTSTR)TempSql);
pRs->GetFieldValue("tele",TempSql);
m_ListCtrl.SetItemText(i, 2, (LPCTSTR)TempSql);
pRs->GetFieldValue("remarks",TempSql);
m_ListCtrl.SetItemText(i, 3, (LPCTSTR)TempSql);
pRs->GetFieldValue("ID",TempSql);
m_ListCtrl.SetItemText(i, 4, (LPCTSTR)TempSql);
pRs->MoveNext();
}
pRs->Close();
}
else
AfxMessageBox("记录集创建失败");
delete pRs;
}
BOOL CBrow::OnInitDialog()
{
CDialog::OnInitDialog();
LONG lStyle = m_ListCtrl.SendMessage
(LVM_GETEXTENDEDLISTVIEWSTYLE);
lStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |
LVS_EX_HEADERDRAGDROP;
m_ListCtrl.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
(LPARAM)lStyle);
LV_COLUMN lvc;
lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/;
lvc.iSubItem = 0;
lvc.pszText = (char *)"序号";
lvc.cx = 50;
m_ListCtrl.InsertColumn(0,&lvc);
lvc.iSubItem = 1;
lvc.pszText = (char *)"姓名";
lvc.cx = 100;
m_ListCtrl.InsertColumn(1,&lvc);
lvc.iSubItem = 2;
lvc.pszText = (char *)"电话";
lvc.cx =200;
m_ListCtrl.InsertColumn(2,&lvc);
lvc.iSubItem = 3;
lvc.pszText = (char *)"备注";
lvc.cx = 200;
m_ListCtrl.InsertColumn(3,&lvc);
lvc.iSubItem = 3;
lvc.pszText = (char *)"标记号";
lvc.cx = 100;
m_ListCtrl.InsertColumn(4,&lvc);
return TRUE;
}
void CBrow::OnButtonDel()
{
UpdateData(TRUE);
if ( strcmp(m_strItem,"") == 0 )
{
AfxMessageBox("此处请填写标记号");
return;
}
CString strSql
// = "UPDATE tblTest SET Description = 'hi, Mars, this is from the earth' WHERE ID = 21"; //update
= "DELETE FROM telelist WHERE ID = " + m_strItem ;
((static_cast<CTeleApp *>(AfxGetApp()))->g_pDb)->Execute(strSql);
OnButtonLog();
}
void CBrow::OnButtonAdd()
{
CTeleDlg test;
test.DoModal();
}
void CBrow::OnButtonSelect()
{
UpdateData(TRUE);
if ( strcmp(m_strSelect,"") == 0 )
{
AfxMessageBox("请输入你要查询的姓名");
return;
}
CString strTemp;
strTemp = "SELECT * FROM telelist WHERE name like '%" + m_strSelect + "%'";
m_ListCtrl.DeleteAllItems();
CADORecordset* pRs = new CADORecordset(CTeleApp::g_pDb);
CString TempSql;
int i = -1;
if(pRs->Open((LPCTSTR) strTemp ))
{
while(!pRs->IsEof())
{
LV_ITEM lvitem;
lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
lvitem.state = 0;
lvitem.stateMask = 0;
char temp[50];
lvitem.iItem = ++i;
lvitem.iSubItem = 0;
lvitem.pszText =itoa(i, temp, 10);
m_ListCtrl.InsertItem(&lvitem);
pRs->GetFieldValue("name",TempSql);
m_ListCtrl.SetItemText(i, 1, (LPCTSTR)TempSql);
pRs->GetFieldValue("tele",TempSql);
m_ListCtrl.SetItemText(i, 2, (LPCTSTR)TempSql);
pRs->GetFieldValue("remarks",TempSql);
m_ListCtrl.SetItemText(i, 3, (LPCTSTR)TempSql);
pRs->GetFieldValue("ID",TempSql);
m_ListCtrl.SetItemText(i, 4, (LPCTSTR)TempSql);
pRs->MoveNext();
}
pRs->Close();
}
else
AfxMessageBox("记录集创建失败");
delete pRs;
}
void CBrow::OnButtonModify()
{
UpdateData(TRUE);
if ( strcmp(m_strItem,"") == 0 )
{
AfxMessageBox("请填写标记号");
return;
}
CBrow::g_strItem = m_strItem;
CUpdate test;
test.DoModal();
}
void CBrow::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
//-- Get the number of selected rows
int nSelRows = m_ListCtrl.GetSelectedCount();
if(!nSelRows) //-- If there are no rows selected,jump out here
return;
//-- Get the position of the first selected row
POSITION pos =m_ListCtrl.GetFirstSelectedItemPosition();
//-- Get the index of next selected row
int i = m_ListCtrl.GetNextSelectedItem(pos);
TRACE("First Item %d\n",i);
if (i != -1) //-- Execute this loop as long as GetNextSelectedItem() returns -1
m_strItem = m_ListCtrl.GetItemText(i, 4);
UpdateData(FALSE);
return;
*pResult = 0;
}
void CBrow::OnRdblclkList(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
// TODO: Add your control notification handler code here
//m_strItem = itoa(HitTestEx(CPoint &point, int *col) const);
//-- Get the number of selected rows
int nSelRows = m_ListCtrl.GetSelectedCount();
if(!nSelRows) //-- If there are no rows selected,jump out here
return;
//-- Get the position of the first selected row
POSITION pos =m_ListCtrl.GetFirstSelectedItemPosition();
//-- Get the index of next selected row
int i = m_ListCtrl.GetNextSelectedItem(pos);
TRACE("First Item %d\n",i);
while (i != -1) //-- Execute this loop as long as GetNextSelectedItem() returns -1
{
m_ListCtrl.DeleteItem(i);
i = m_ListCtrl.GetNextSelectedItem(pos); //-- Get the index of the next selected row
TRACE("Next Item %d\n",i);
}
return;
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -