📄 dbamaindlg.cpp
字号:
// DbaMainDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Stock.h"
#include "DbaMainDlg.h"
#include "Connection.h"
#include "DbaEditDlg.h"
#include "DBA.h"
#include "DbaUpdateDlg.h"
extern CConnection * gconn;
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDbaMainDlg dialog
CDbaMainDlg::CDbaMainDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDbaMainDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDbaMainDlg)
//}}AFX_DATA_INIT
}
void CDbaMainDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDbaMainDlg)
DDX_Control(pDX, IDC_LIST1, m_Listctl);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDbaMainDlg, CDialog)
//{{AFX_MSG_MAP(CDbaMainDlg)
ON_BN_CLICKED(ID_ADD, OnAdd)
ON_BN_CLICKED(ID_UPDATE, OnUpdate)
ON_BN_CLICKED(ID_DEL, OnDel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDbaMainDlg message handlers
BOOL CDbaMainDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
Refresh_data();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDbaMainDlg::OnAdd()
{
// TODO: Add your control notification handler code here
CDbaEditDlg dlg;
_RecordsetPtr rs=NULL;
_variant_t var;
if(dlg.DoModal()==IDOK)
{
MessageBox("添加成功!");
Refresh_data();
}
}
void CDbaMainDlg::OnUpdate()
{
// TODO: Add your control notification handler code here
int index=-1;
if(m_Listctl.GetNextItem(index,LVNI_SELECTED)==-1)
{
AfxMessageBox("请选至少中一条记录!");
return ;
}
index=m_Listctl.GetNextItem(-1,LVNI_SELECTED);
CString strNo;
strNo=m_Listctl.GetItemText(index,0);
strNo.TrimLeft();
strNo.TrimRight();
CDBA temp;
temp.m_UserName=strNo;
CString sql="select * from Users where UserName='"+strNo+"'";
_RecordsetPtr rs=gconn->Execute(sql);
_variant_t var=rs->Fields->GetItem("Pwd")->Value;
temp.m_Pwd=(LPCSTR)_bstr_t(var);
temp.m_Pwd.TrimRight();
CDbaUpdateDlg dlg(temp);
dlg.DoModal();
}
void CDbaMainDlg::OnDel()
{
// TODO: Add your control notification handler code here
int index=-1,preindex=-1;
if(m_Listctl.GetNextItem(index,LVNI_SELECTED)==-1)
{
AfxMessageBox("请选至少中一条记录!");
return ;
}
if (MessageBox("是否删除当前记录","请确定", MB_YESNO) == IDYES)
{
while((index=m_Listctl.GetNextItem(preindex,LVNI_SELECTED))!=-1)
{
CString strNo;
strNo=m_Listctl.GetItemText(index,0);
strNo.TrimLeft();
strNo.TrimRight();
m_Listctl.DeleteItem(index);
CString sql="delete from Users where UserName='"+strNo+"'";
gconn->Execute(sql);
}
}
}
void CDbaMainDlg::Refresh_data()
{
m_Listctl.DeleteAllItems();
m_Listctl.InsertColumn(0,"用户名 ",LVCFMT_CENTER);
CRect r;
m_Listctl.GetWindowRect(&r);
int wid=r.Width();
m_Listctl.SetColumnWidth(0,wid);
m_Listctl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
_RecordsetPtr rs=NULL;
_variant_t var;
try
{
CString sql="select * from Users ;";
rs=gconn->Execute(sql);
int row=0;
while(!rs->adoEOF)
{
var=rs->Fields->GetItem("UserName")->Value;
m_Listctl.InsertItem(row,(LPCSTR)_bstr_t(var));
rs->MoveNext();
row++;
}
UpdateData(FALSE);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -