4,018
社区成员




BOOL UserM::OnInitDialog()
{
CDialog::OnInitDialog();
m_listuserm.SetExtendedStyle(LVS_EX_FLATSB
|LVS_EX_FULLROWSELECT
|LVS_EX_HEADERDRAGDROP
|LVS_EX_ONECLICKACTIVATE
|LVS_EX_GRIDLINES); //设置列表框控件扩展风格
//初始用户信息列表框控件
m_listuserm.InsertColumn(0,"USERID",LVCFMT_CENTER,50);
m_listuserm.InsertColumn(1,"UNAME",LVCFMT_CENTER,80);
m_listuserm.InsertColumn(2,"PASSW",LVCFMT_CENTER,80);
m_listuserm.InsertColumn(3,"TYPED",LVCFMT_CENTER,80);
m_listuserm.InsertColumn(4,"INF1",LVCFMT_CENTER,100);
m_listuserm.InsertColumn(5,"INF2",LVCFMT_CENTER,100);
m_listuserm.InsertColumn(6,"INF3",LVCFMT_CENTER,100);
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void UserM::Onrefreshstr() //数据刷新按钮
{ m_listuserm.DeleteAllItems(); //清楚所有列表项
m_ado.OnInitADOConn();
CString sql="select * from LOGINF";
m_ado.m_pRecordset = m_ado.GetRecordSet(sql);
Fields * fields=NULL;
long countl,i;
BSTR bstr;
// countl=fields->Count;
fields->get_Count(&countl);
for( i=countl-1;i>=0;i--)
{
fields->Item[i]->get_Name(&bstr);
m_listuserm.InsertColumn(i,(CString)bstr,LVCFMT_LEFT,100,0);
}
int k;
_variant_t var;
tagVARIANT varFieldVal;
var.vt = VT_I2;
FieldPtr pField;
while(!m_pRecordset->adoEOF)
{
m_listuserm.InsertItem(0, "");
for(k=countl-1;k>=0;k--)
{
var.iVal = k;
pField = m_pRecordset->Fields->GetItem(var);
pField->get_Value(&varFieldVal);
if(varFieldVal.vt != VT_NULL)
m_listuserm.SetItemText(0,k,(char*)(_bstr_t)varFieldVal);
m_listuserm.InsertColumn(i,(CString)bstr,LVCFMT_LEFT,100,0);
}
m_pRecordset->MoveNext();
}
m_ado.ExitConnect();
}
AddUser::AddUser(CWnd* pParent /*=NULL*/)
: CDialog(AddUser::IDD, pParent)
{
//{{AFX_DATA_INIT(AddUser)
m_ukind = _T("");
m_passw = _T("");
m_rpassw = _T("");
m_uname = _T("");
//}}AFX_DATA_INIT
}
void AddUser::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(AddUser)
DDX_Control(pDX, IDC_COMBOkind, m_comukind);
DDX_CBString(pDX, IDC_COMBOkind, m_ukind);
DDX_Text(pDX, IDC_EDITpassw, m_passw);
DDX_Text(pDX, IDC_EDITrpassw, m_rpassw);
DDX_Text(pDX, IDC_EDITuname, m_uname);
//}}AFX_DATA_MAP
}
void AddUser::OnOK()
{
// TODO: Add extra validation here
if((m_uname!="")&&(m_comukind.GetCurSel()!=CB_ERR))
{
if(m_passw.Compare(m_rpassw)==0)
{
AddUser adlg;
m_pRecordset->AddNew();
m_pRecordset->PutCollect(_variant_t(_T("UNAME")),_variant_t(adlg.m_uname));
m_pRecordset->PutCollect(_variant_t(_T("PASSW")),_variant_t(adlg.m_passw));
m_pRecordset->PutCollect(_variant_t(_T("TYPE")),_variant_t(adlg.m_ukind));
m_pRecordset->Update();
CListCtrl* m_listuserm=(CListCtrl*)GetDlgItem(IDC_LISTuserm);
m_listuserm->DeleteAllItems();
if(m_pRecordset->BOF && m_pRecordset->adoEOF)
return;
m_pRecordset->MoveFirst();
int n=0;
while(!m_pRecordset->adoEOF)
{
_variant_t varValue;
CString uname=_T("");
CString passw=_T("");
CString type=_T("");
varValue=m_pRecordset->GetCollect(_variant_t(_T("UNAME")));
if(varValue.vt != VT_NULL)
uname=varValue.bstrVal;
else
uname=_T("UNAME");
varValue=m_pRecordset->GetCollect(_variant_t(_T("PASSW")));
if(varValue.vt != VT_NULL)
uname=varValue.bstrVal;
else
uname=_T("PASSW");
varValue=m_pRecordset->GetCollect(_variant_t(_T("TYPE")));
if(varValue.vt != VT_NULL)
uname=varValue.bstrVal;
else
uname=_T("TYPE");
CString strText=_T("");
strText.Format(_T("%d"),n+1);
m_listuserm->InsertItem(n,strText);
strText.Format(_T("%s"),uname);
m_listuserm->SetItemText(n,1, strText);
strText.Format(_T("%s"),passw);
m_listuserm->SetItemText(n,2, strText);
strText.Format(_T("%s"),type);
m_listuserm->SetItemText(n,3, strText);
n++;
m_pRecordset->MoveNext();
}
}
else
{
MessageBox("您输入的密码不一致,请重新输入!","警告");
}
}
else
{
MessageBox("用户信息不完整,请重新输入!","警告");
}
}