📄 dlgusercopyto.cpp
字号:
// DlgUserCopyTo.cpp : implementation file
//
#include "stdafx.h"
#include "Kvip.h"
#include "DlgUserCopyTo.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgUserCopyTo dialog
CDlgUserCopyTo::CDlgUserCopyTo(CWnd* pParent /*=NULL*/)
: CDialog(CDlgUserCopyTo::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgUserCopyTo)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_pParent = NULL;
m_strCode = _T("");
m_strManager = _T("FALSE");
m_strEnabled = _T("TRUE");
m_strNote = _T("");
long nItem = 0;
}
void CDlgUserCopyTo::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgUserCopyTo)
DDX_Control(pDX, IDC_MASTER, m_Master);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgUserCopyTo, CDialog)
//{{AFX_MSG_MAP(CDlgUserCopyTo)
ON_BN_CLICKED(IDC_OK, OnOK)
ON_BN_CLICKED(IDC_CANCEL, OnCancel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgUserCopyTo message handlers
BOOL CDlgUserCopyTo::LoadData()
{
CString sKey, sCode, sUser, sManager, sEnabled, sNote;
ASSERT(m_pParent);
m_Master.SetRedraw(FALSE);
for (int i = m_pParent->m_Master.GetItemCount()-1;i >= 0; i--)
{
sKey = m_pParent->m_Master.GetItemText(i, 0);
sCode = m_pParent->m_Master.GetItemText(i, 1);
sUser = m_pParent->m_Master.GetItemText(i, 2);
sManager = m_pParent->m_Master.GetItemText(i, 3);
sEnabled = m_pParent->m_Master.GetItemText(i, 4);
//sNote = m_pParent->m_Master.GetItemText(i, 5);
m_Master.InsertItemEx(0,sKey, sCode, sUser, sManager, sEnabled);
}
m_Master.SetRedraw(TRUE);
return TRUE;
}
void CDlgUserCopyTo::OnOK()
{
// TODO: Add your control notification handler code here
CString strSQL;
CString sUser, sCode, sNote, sManager, sEnabled, sKey;
CString sDate;
long lFunction;
int nItem, i;
CAdoRecordSet *pRecordSet;
CTime tNow = CTime::GetCurrentTime();
sDate = tNow.Format("%Y/%m/%d");
//取被复被用户编号
POSITION pos = m_Master.GetFirstSelectedItemPosition();
if (pos == 0) goto err01;
if (pos) nItem = m_Master.GetNextSelectedItem(pos);
if (nItem < 0 ) goto err01;
sCode = m_Master.GetItemText(nItem, 1);
if (sCode == m_strCode)
{
sNote = "注意:不能将用户["+m_strCode+"]复制到["+sCode+"] !";
MessageBox(sNote, "系统提示", MB_OK|MB_ICONEXCLAMATION);
return;
}
pRecordSet = &m_pParent->m_RecordSet;
m_pParent->m_Connection.BeginTrans();
if (m_strManager == _T("是"))
sManager = _T("true");
else
sManager = _T("false");
if (m_strEnabled == _T("是"))
sEnabled = _T("true");
else
sEnabled = _T("false");
// 更新用户
if (m_strNote.IsEmpty())
strSQL.Format("UPDATE kv_user SET us_manager=%s,us_date='%s',us_enabled=%s WHERE us_code = '%s'",
sManager, sDate, sEnabled,sCode);
else
strSQL.Format("UPDATE kv_user SET us_manager=%s,us_date='%s',us_enabled=%s,us_note='%s' WHERE us_code = '%s'",
sManager, sDate, sEnabled, m_strNote, sCode);
if(m_pParent->m_Connection.Execute((_bstr_t)strSQL,adCmdText)==FALSE) //执行此sql语句
goto err01;
//删除原用户功能
strSQL = "DELETE FROM kv_user_tx WHERE ut_code = '" + sCode +"'";
if(m_pParent->m_Connection.Execute((_bstr_t)strSQL,adCmdText)==FALSE) //执行此sql语句
goto err01;
// 更新功能
strSQL = "Select * From kv_user_tx Where ut_code = '" +
m_strCode + "'";
if (!pRecordSet->Open(strSQL))
goto err01;
//取用户功能
pRecordSet->MoveFirst();
while(!pRecordSet->IsEOF())
{
pRecordSet->GetCollect("ut_function", lFunction);
strSQL.Format("INSERT INTO kv_user_tx(ut_code, ut_function) VALUES ('%s', %d)",
sCode, lFunction);
if(m_pParent->m_Connection.Execute((_bstr_t)strSQL,adCmdText)==FALSE) //执行此sql语句
goto err01;
pRecordSet->MoveNext();
}// end for
pRecordSet->Close();
m_pParent->m_Connection.CommitTrans();
//更新显示
for ( i = 0; i < m_pParent->m_Master.GetItemCount(); i++)
{
sNote = m_pParent->m_Master.GetItemText(i, 1);
if (sCode == sNote)
{
m_pParent->m_Master.SetItemText(i, 3, m_strManager);
m_pParent->m_Master.SetItemText(i, 4, m_strEnabled);
m_pParent->m_Master.SetItemText(i, 5, m_strNote);
break;
}
}
CDialog::OnOK();
return ;
err01:
m_pParent->m_Connection.RollbackTrans();
MessageBox("错误:DCT-0000001复制用户失败!!!",
"系统提示", MB_OK|MB_ICONEXCLAMATION);
return ;
}
void CDlgUserCopyTo::OnCancel()
{
// TODO: Add your control notification handler code here
CDialog::OnCancel();
}
BOOL CDlgUserCopyTo::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_Master.SetHeadings(_T("序号,1,60; 用户编号,1, 80; 用户名称,1, 90; 管理员, 1,60; 有效, 1, 60"));
m_Master.SetGridLines(TRUE);
// m_Master.SetCheckboxes(TRUE);
m_strCode = m_pParent->m_Master.GetItemText(m_nItem, 1);
m_strManager = m_pParent->m_Master.GetItemText(m_nItem, 3);
m_strEnabled = m_pParent->m_Master.GetItemText(m_nItem, 4);
m_strNote = m_pParent->m_Master.GetItemText(m_nItem, 5);
LoadData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -