當前位置:編程學習大全網 - 編程語言 - 許可管理編程

許可管理編程

void CLoginDlg::InitDlgPara()

{

if(m _ pop rate _ List)

{

delete[]m _ pOperate _ List;

m _ pOperate _ List = NULL

}

m _ Count = 0;

while(m _ combobor。GetCount())

{

m _ CombOper。delete string(m _ combobor。GetCount()-1);

}

m_StaPass。SetWindowText(" ");

m _ Count = ReadOperateWithOperateID(& amp;g_adoRecordSet,0,m _ pOperate _ List);

for(int I = 0;我& ltm _ Counti++)

{

m _ CombOper。insert string(m _ combobor。GetCount(),m_pOperate_List[i]。operate _ Name);

m _ CombOper。SetItemData(m _ combobor。GetCount()-1,m_pOperate_List[i]。operate _ ID);

}

m _ CombOper。SetCurSel(0);

m_StaPass。SetFocus();

m_StaPass。SendMessage(EM_SETSEL,(int) 0,(int)200);

m_StaPass。Invalidate(真);

}

void CLoginDlg::OnOK()

{

update data(TRUE);

if(m _ pop rate _ List)

{

int n = m _ CombOper。GetCurSel();

如果(m_Pass!= m _ pop rate _ List[n]。操作_密碼)

{

AfxMessageBox("密碼錯誤");

m_StaPass。SetFocus();

m_StaPass。SendMessage(EM_SETSEL,(int) 0,(int)200);

m_StaPass。Invalidate(真);

返回;

}

其他

{

memcpy(& amp;g_Cur_Operate,m_pOperate_List+n,sizeof(TABLE _ Operate));

CDialog::OnOK();

}

}

其他

{

AfxMessageBox("打開數據庫錯誤");

這-& gt;end dialog(IDNO);

}

CDialog::OnOK();

}

int ReadOperateWithOperateID(void * PV oid,int Operate_ID,TABLE _ OPERATE * & amppOperate _ List)

{

CAdoRecordSet * pRecord = NULL

CDB interface * pdb interface = NULL;

char * pTableBuff = NULL

int iBuffLen = 0;

#if數據庫方法==數據庫方法ADO

pRecord =(CAdoRecordSet *)pVoid;

# else if DATABASE _ METHOD = = DATABASE _ METHOD _ ODBC

pdb interface =(CDB interface *)PV oid;

#endif

int nCount = 0;

if(pop rate _ List)

{

免費(pOperate _ List);

pOperate _ List = NULL

}

if((預編碼= = NULL & amp& amppdb interface = = NULL)| | Operate _ ID & lt;0 )

{

返回0;

}

char SQL[1024];

TABLE _ OPERATE * pReturn = NULL

BOOL bRet = FALSE

開關(Operate_ID)

{

案例0:

sprintf(sql,“SELECT TOP 5000 * FROM TABLE _ Operate order by ID”);

打破;

默認值:

sprintf(sql," SELECT TOP 5000 * FROM TABLE _ Operate \

其中ID=%d”,Operate _ ID);

}

#if數據庫方法==數據庫方法ADO

bRet = pRecord-& gt;open(SQL);

# else if DATABASE _ METHOD = = DATABASE _ METHOD _ ODBC

bRet = pdb interface-& gt;odbc_select(sql,pTableBuff & amp;iBuffLen,FALSE);

#endif

if(bRet & gt;0)

{

#if數據庫方法==數據庫方法ADO

nCount = pRecord-& gt;GetRecordCount();

# else if DATABASE _ METHOD = = DATABASE _ METHOD _ ODBC

nCount = bRet

#endif

if(nCount & lt;=0)

{

返回0;

}

nCount = nCount & gt最大記錄集數量?MAX _ RECORDSET _ NUM:nCount;

pReturn =(TABLE _ OPERATE *)malloc(sizeof(TABLE _ OPERATE)* nCount);

memset(pReturn,0x0,sizeof(TABLE _ OPERATE)* n count);

#if數據庫方法==數據庫方法ADO

for(int I = 0;我& ltnCounti++)

{

預編碼->;GetCollect((long)0,(pReturn+I)-& gt;operate _ ID);

CString sTemp

預編碼->;GetCollect(1,sTemp);

sprintf((pReturn+I)-& gt;Operate_Name,sTemp);

預編碼->;GetCollect(2,sTemp);

sprintf((pReturn+I)-& gt;Operate_Password,sTemp);

預編碼->;GetCollect(3,(pre turn+I)-& gt;operate _ Degree);

預編碼->;GetCollect(4,(pre turn+I)-& gt;operate _ Degree _ ID);

預編碼->;GetCollect(5,(pre turn+I)-& gt;operate _ Dept _ ID);

預編碼->;GetCollect(6,(pre turn+I)-& gt;operate _ Create _ Time);

預編碼->;GetCollect(7,sTemp);

sprintf((pReturn+I)-& gt;Operate_Tele_Code,sTemp);

預編碼->;GetCollect(8,sTemp);

sprintf((pReturn+I)-& gt;Operate_Remark,sTemp);

預編碼->;MoveNext();

}

# else if DATABASE _ METHOD = = DATABASE _ METHOD _ ODBC

memcpy(pReturn,pTableBuff,sizeof(TABLE _ OPERATE)* nCount);

if (pTableBuff)

{

刪除pTableBuff

pTableBuff = NULL

}

#endif

}

pOperate _ List = pReturn

返回nCount

}

  • 上一篇:程序員有哪些關於編程的書籍?
  • 下一篇:iis用的是openssl嗎
  • copyright 2024編程學習大全網