📄 yuangong.cpp
字号:
// YUANGONG.cpp : implementation file
//
#include "stdafx.h"
#include "B05050727.h"
#include "YUANGONG.h"
#include "ADDPERSON.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CYUANGONG dialog
CYUANGONG::CYUANGONG(CWnd* pParent /*=NULL*/)
: CDialog(CYUANGONG::IDD, pParent)
{
//{{AFX_DATA_INIT(CYUANGONG)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CYUANGONG::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CYUANGONG)
DDX_Control(pDX, IDSHANCHU, m_shanchu);
DDX_Control(pDX, IDC_LIST1, m_yuangong);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CYUANGONG, CDialog)
//{{AFX_MSG_MAP(CYUANGONG)
ON_BN_CLICKED(IDCHAXUN, OnChaxun)
ON_BN_CLICKED(IDTIANJIA, OnTianjia)
ON_BN_CLICKED(IDSHANCHU, OnShanchu)
ON_BN_CLICKED(IDSOMEPERSON, OnSomeperson)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CYUANGONG message handlers
void CYUANGONG::OnChaxun()
{
// TODO: Add your control notification handler code here
// TODO: Add your control notification handler code here
// TODO: Add extra initialization here
m_shanchu.EnableWindow(true);
m_yuangong.DeleteColumn(0);
m_yuangong.DeleteColumn(1);
m_yuangong.DeleteColumn(2);
m_yuangong.DeleteColumn(3);
m_yuangong.DeleteColumn(4);
m_yuangong.DeleteColumn(5);
m_yuangong.InsertColumn(0,"姓名");
m_yuangong.InsertColumn(1,"职工号码");
m_yuangong.InsertColumn(2,"所属部门");
m_yuangong.InsertColumn(3,"性别");
m_yuangong.InsertColumn(4,"年龄");
m_yuangong.InsertColumn(5,"电话号码");
CRect rect;
GetWindowRect(&rect);
int x=rect.right-rect.left;
m_yuangong.SetColumnWidth(0,x/6);
m_yuangong.SetColumnWidth(1,x/6);
m_yuangong.SetColumnWidth(2,x/6);
m_yuangong.SetColumnWidth(3,x/6);
m_yuangong.SetColumnWidth(4,x/6);
m_yuangong.SetColumnWidth(5,x/6);
m_yuangong.DeleteAllItems();
m_yuangong.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
//初始化结束
CoInitialize(NULL);
_ConnectionPtr pconnect(__uuidof(Connection));
_RecordsetPtr record(__uuidof(Recordset));
_CommandPtr comd(__uuidof(Command));
pconnect->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=人事";
pconnect->Open("","","",NULL);
comd->put_ActiveConnection(_variant_t((IDispatch *)pconnect));
comd->CommandText="select * from 职工";//得到SQL语句
record=comd->Execute(NULL,NULL,adCmdText);
while(!record->end)
{
m_yuangong.InsertItem(0,(_bstr_t)record->GetCollect("职工名"));
m_yuangong.SetItemText(0,1,(_bstr_t)record->GetCollect("职工号"));
m_yuangong.SetItemText(0,2,(_bstr_t)record->GetCollect("部门号"));
m_yuangong.SetItemText(0,3,(_bstr_t)record->GetCollect("性别"));
m_yuangong.SetItemText(0,4,(_bstr_t)record->GetCollect("年龄"));
m_yuangong.SetItemText(0,5,(_bstr_t)record->GetCollect("电话号码"));
record->MoveNext();
}
record->Close();
pconnect->Close();
comd.Release();
record.Release();
pconnect.Release();
CoUninitialize();
}
void CYUANGONG::OnTianjia()
{
// TODO: Add your control notification handler code here
CADDPERSON dlg;
dlg.DoModal();
}
void CYUANGONG::OnShanchu()
{
int n=m_yuangong.GetItemCount();//存储的记录数目
if (n==0)
{
AfxMessageBox("记录为空");
CDialog::OnOK();
}
else
{
POSITION pos1= m_yuangong.GetFirstSelectedItemPosition();
int nSel=-1;
if (n==1)
nSel=0;
else
nSel = m_yuangong.GetNextSelectedItem(pos1);
if (nSel==-1)
{
AfxMessageBox("请选择所要删除的记录");
}
else
{
CString str=m_yuangong.GetItemText(nSel,1);
CoInitialize(NULL);
_ConnectionPtr pconnect(__uuidof(Connection));
_CommandPtr comd(__uuidof(Command));
pconnect->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=人事";
pconnect->Open("","","",NULL);
comd->put_ActiveConnection(_variant_t((IDispatch *)pconnect));
CString cmd="DELETE FROM 职工 where 职工号=";
cmd+="'";cmd+=str;cmd+="'";
comd->CommandText=_bstr_t(cmd);
comd->Execute(NULL,NULL,adCmdText);
pconnect->Close();
comd.Release();
pconnect.Release();
CoUninitialize();
AfxMessageBox("删除成功,退回主界面");
CDialog::OnOK();
}
}
}
void CYUANGONG::OnSomeperson()
{
// TODO: Add your control notification handler code here
m_shanchu.EnableWindow(true);
m_yuangong.DeleteColumn(0);
m_yuangong.DeleteColumn(1);
m_yuangong.DeleteColumn(2);
m_yuangong.DeleteColumn(3);
m_yuangong.DeleteColumn(4);
m_yuangong.DeleteColumn(5);
m_yuangong.InsertColumn(0,"姓名");
m_yuangong.InsertColumn(1,"职工号码");
m_yuangong.InsertColumn(2,"所属部门");
m_yuangong.InsertColumn(3,"性别");
m_yuangong.InsertColumn(4,"年龄");
m_yuangong.InsertColumn(5,"电话号码");
CRect rect;
GetWindowRect(&rect);
int x=rect.right-rect.left;
m_yuangong.SetColumnWidth(0,x/6);
m_yuangong.SetColumnWidth(1,x/6);
m_yuangong.SetColumnWidth(2,x/6);
m_yuangong.SetColumnWidth(3,x/6);
m_yuangong.SetColumnWidth(4,x/6);
m_yuangong.SetColumnWidth(5,x/6);
m_yuangong.DeleteAllItems();
m_yuangong.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
//初始化结束
CString str="";
GetDlgItemText(IDC_NAME,str);
CoInitialize(NULL);
_ConnectionPtr pconnect(__uuidof(Connection));
_RecordsetPtr record(__uuidof(Recordset));
_CommandPtr comd(__uuidof(Command));
pconnect->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=人事";
pconnect->Open("","","",NULL);
comd->put_ActiveConnection(_variant_t((IDispatch *)pconnect));
CString cmd="SELECT * FROM 职工 where 职工名=";
cmd+="'";cmd+=str;cmd+="'";
comd->CommandText=_bstr_t(cmd);//得到SQL语句
record=comd->Execute(NULL,NULL,adCmdText);
while(!record->end)
{
m_yuangong.InsertItem(0,(_bstr_t)record->GetCollect("职工名"));
m_yuangong.SetItemText(0,1,(_bstr_t)record->GetCollect("职工号"));
m_yuangong.SetItemText(0,2,(_bstr_t)record->GetCollect("部门号"));
m_yuangong.SetItemText(0,3,(_bstr_t)record->GetCollect("性别"));
m_yuangong.SetItemText(0,4,(_bstr_t)record->GetCollect("年龄"));
m_yuangong.SetItemText(0,5,(_bstr_t)record->GetCollect("电话号码"));
record->MoveNext();
}
record->Close();
pconnect->Close();
comd.Release();
record.Release();
pconnect.Release();
CoUninitialize();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -