⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adoconnaccess.cpp

📁 带MD5摘要计算的登录程序,实现部分功能模块和部分界面
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	{
		return FALSE;
	}
}

BOOL ADOConnAccess::ReaderUpdate(CString strReaderNo, CString strIP, CString strLocation, BYTE bThreshold)
{
	try
	{
		CString sql;
		sql.Format("update Reader set ReaderIP='%s',ReaderAddress='%s',ReaderThreshold=%u where ReaderNo='%s'",strIP,strLocation,bThreshold,strReaderNo);
		_CommandPtr pCommand;
		pCommand.CreateInstance("ADODB.Command");
		pCommand->ActiveConnection=m_pConnection;
		pCommand->CommandText=(_bstr_t)sql;
		pCommand->CommandType=adCmdText;
		//pCommand->Parameters->Refresh();
		pCommand->Execute(NULL,NULL,adCmdUnknown);
		//pCommand->Release();
		return TRUE;
	}
	catch(_com_error e)
	{
		return FALSE;
	}
}

BOOL ADOConnAccess::ReaderDelete(CString strReaderNo)
{
	try
	{
		CString sql;
		sql.Format("delete from Reader where ReaderNo='%s'",strReaderNo);
		_CommandPtr pCommand;
		pCommand.CreateInstance("ADODB.Command");
		pCommand->ActiveConnection=m_pConnection;
		pCommand->CommandText=(_bstr_t)sql;
		pCommand->CommandType=adCmdText;
		//pCommand->Parameters->Refresh();
		pCommand->Execute(NULL,NULL,adCmdUnknown);
		//pCommand->Release();
		return TRUE;
	}
	catch(_com_error e)
	{
		return FALSE;
	}
}

BOOL ADOConnAccess::TagGrantComboHomeReaderInit(CComboBox *pComboBox)
{
	try
	{
		ReaderQueryCombInit(pComboBox);
		return TRUE;
	}
	catch(...)
	{
		return FALSE;
	}
}

BOOL ADOConnAccess::TagGrantPropertyInfoInit(CComboBox *pComboBox, CEdit *pEdit)
{
	try
	{
		CString sql,strPropertyNo;
		sql.Format("select PropertyNo from Property order by PropertyNo desc");
		m_pRecordset.CreateInstance("ADODB.Recordset");
		m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
		pComboBox->ResetContent();
		BOOL bFlag=FALSE;
		while(m_pRecordset->adoEOF==0)
		{
			bFlag=TRUE;
			strPropertyNo=(char *)(_bstr_t)m_pRecordset->GetCollect("PropertyNo");
			pComboBox->AddString(strPropertyNo);
			m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();
		if(bFlag)
		{
			pComboBox->SetCurSel(0);
			pComboBox->GetWindowText(strPropertyNo);
			sql.Format("select PropertyName from Property where PropertyNo='%s'",strPropertyNo);
			m_pRecordset.CreateInstance("ADODB.Recordset");
			m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
			pEdit->SetWindowText((char *)(_bstr_t)m_pRecordset->GetCollect("PropertyName"));
			m_pRecordset->Close();
		}
		return TRUE;
	}
	catch(...)
	{
		return FALSE;
	}
}

BOOL ADOConnAccess::TagGrantUserInfoInit(CComboBox *pComboBox, CEdit *pEdit)
{
	try
	{
		CString sql,strUserNo;
		sql.Format("select UserNo from User order by UserNo desc");
		m_pRecordset.CreateInstance("ADODB.Recordset");
		m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
		pComboBox->ResetContent();
		BOOL bFlag=FALSE;
		while(m_pRecordset->adoEOF==0)
		{
			bFlag=TRUE;
			strUserNo=(char *)(_bstr_t)m_pRecordset->GetCollect("UserNo");
			pComboBox->AddString(strUserNo);
			m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();
		if(bFlag)
		{
			pComboBox->SetCurSel(0);
			pComboBox->GetWindowText(strUserNo);
			sql.Format("select UserName from User where UserNo='%s'",strUserNo);
			m_pRecordset.CreateInstance("ADODB.Recordset");
			m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
			pEdit->SetWindowText((char *)(_bstr_t)m_pRecordset->GetCollect("UserName"));
			m_pRecordset->Close();
		}
		return TRUE;
	}
	catch(...)
	{
		return FALSE;
	}
}

BOOL ADOConnAccess::TagGrantShowSelPropertyName(CComboBox * pComboBox,CEdit  * pEdit)
{
	try
	{
		CString sql,strPropertyNo;
		pComboBox->GetWindowText(strPropertyNo);
		if(!strPropertyNo.IsEmpty())
		{
			sql.Format("select PropertyName from Property where PropertyNo='%s'",strPropertyNo);
			m_pRecordset.CreateInstance("ADODB.Recordset");
			m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
			pEdit->SetWindowText((char *)(_bstr_t)m_pRecordset->GetCollect("PropertyName"));
			m_pRecordset->Close();
		}
		return TRUE;
	}
	catch(...)
	{
		return FALSE;
	}
}

BOOL ADOConnAccess::TagGrantShowSelUserName(CComboBox *pComboBox, CEdit *pEdit)
{
	try
	{
		CString sql,strUserNo;
		pComboBox->GetWindowText(strUserNo);
		if(!strUserNo.IsEmpty())
		{
			sql.Format("select UserName from User where UserNo='%s'",strUserNo);
			m_pRecordset.CreateInstance("ADODB.Recordset");
			m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
			pEdit->SetWindowText((char *)(_bstr_t)m_pRecordset->GetCollect("UserName"));
			m_pRecordset->Close();
		}
		return TRUE;
	}
	catch(...)
	{
		return FALSE;
	}
}

CString ADOConnAccess::TagGrantTagIDGeneration()
{
	try
	{
		CString sql;
		sql.Format("select TagNo from Tag order by TagNo asc");
		m_pRecordset.CreateInstance("ADODB.Recordset");
		m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
		CString strTagNo;
		UINT iTagNo;
		CString strLastTagNo;
		CString strCurrentTagNo;
		UINT iLastTagNo;
		UINT iCurrentTagNo;
		/*if(m_pRecordset->RecordCount==0)
		{
			iTagNo=0;
		}* /
		int nRecordCount=m_pRecordset->RecordCount;
		nRecordCount=m_pRecordset->GetRecordCount();*/
		int nRecordCount=0;
		BOOL bFlag=FALSE;
		while(m_pRecordset->adoEOF==0)
		{
			bFlag=TRUE;
			nRecordCount++;
			m_pRecordset->MoveNext();
			if(nRecordCount>=2)
				break;
		}
		if(bFlag)
		{
			m_pRecordset->MoveFirst();
			/*if(nRecordCount==0)
			{
				iTagNo=0;
			}
			else*/ 
			if(nRecordCount==1)
			{
				strCurrentTagNo=(char *)(_bstr_t)m_pRecordset->GetCollect("TagNo");
				if(strCurrentTagNo=="0000")
				{
					iTagNo=1;
				}
				else
				{
					iTagNo=0;
				}
			}
			else
			{
				strLastTagNo=(char *)(_bstr_t)m_pRecordset->GetCollect("TagNo");
				m_pRecordset->MoveNext();
				iLastTagNo=atoi(strLastTagNo);
				while(m_pRecordset->adoEOF==0)
				{
					strCurrentTagNo=(char *)(_bstr_t)m_pRecordset->GetCollect("TagNo");
					iCurrentTagNo=atoi(strCurrentTagNo);
					if(iCurrentTagNo-iLastTagNo<=1)
					{
						strLastTagNo=strCurrentTagNo;
						iLastTagNo=atoi(strLastTagNo);
					}
					else
					{
						iTagNo=iLastTagNo+1;
						break;
					}
					m_pRecordset->MoveNext();
				}
				iTagNo=iCurrentTagNo+1;
			}
		}
		else
		{
			iTagNo=0;
		}
		m_pRecordset->Close();
		strTagNo.Format("%04u",iTagNo);
		return strTagNo;
	}
	catch(...)
	{
		return "";
	}
}

BOOL ADOConnAccess::TagGrantAddTagInfo(CString strTagID,CString strHomeReaderLocation,CString strAvgTransTime,CString strPropertyNo,CString strUserNo,CTime tTagGrantTime)
{
	try
	{
		CString sql,strHomeReaderNo;
		sql.Format("select ReaderNo from Reader where ReaderAddress='%s'",strHomeReaderLocation);
		m_pRecordset.CreateInstance("ADODB.Recordset");
		m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
		while(m_pRecordset->adoEOF==0)
		{
			strHomeReaderNo=(char *)(_bstr_t)m_pRecordset->GetCollect("ReaderNo");
			m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();

		BYTE ucAvgTransTime=atoi(strAvgTransTime);
		m_pRecordset.CreateInstance("ADODB.Recordset");
		sql.Format("select * from Tag");
		m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
		m_pRecordset->AddNew();
		m_pRecordset->GetFields()->GetItem("TagNo")->Value=(_bstr_t)strTagID;
		m_pRecordset->GetFields()->GetItem("AvgTransTime")->Value=(BYTE)ucAvgTransTime;
		m_pRecordset->GetFields()->GetItem("HomeReaderNo")->Value=(_bstr_t)strHomeReaderNo;
		m_pRecordset->Update();
		m_pRecordset->Close();
		
		m_pRecordset.CreateInstance("ADODB.Recordset");
		sql.Format("select * from TagProperty");
		m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
		m_pRecordset->AddNew();
		m_pRecordset->GetFields()->GetItem("TagNo")->Value=(_bstr_t)strTagID;
		m_pRecordset->GetFields()->GetItem("PropertyNo")->Value=(_bstr_t)strPropertyNo;
		m_pRecordset->Update();
		m_pRecordset->Close();

		m_pRecordset.CreateInstance("ADODB.Recordset");
		sql.Format("select * from TagUser");
		m_pRecordset->Open((_variant_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
		m_pRecordset->AddNew();
		m_pRecordset->GetFields()->GetItem("TagNo")->Value=(_bstr_t)strTagID;
		m_pRecordset->GetFields()->GetItem("UserNo")->Value=(_bstr_t)strUserNo;
		m_pRecordset->Update();
		m_pRecordset->Close();

		CString strEventContent="标签分发";
		AddAlarmEventInfo(tTagGrantTime,strEventContent,strTagID,strPropertyNo,strUserNo);
		/*m_pRecordset.CreateInstance("ADODB.Recordset");
		m_pRecordset->Open("select * from Event",m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
		m_pRecordset->AddNew();
		CString strDateTime=tTagGrantTime.Format("%Y-%m-%d");
		strDateTime=strDateTime+" "+tTagGrantTime.Format("%H:%M:%S");
		m_pRecordset->GetFields()->GetItem("EventTime")->Value=(_bstr_t)strDateTime;
		m_pRecordset->GetFields()->GetItem("EventContent")->Value=(_bstr_t)"标签分发";
		m_pRecordset->GetFields()->GetItem("TagNo")->Value=(_bstr_t)strTagID;
		m_pRecordset->GetFields()->GetItem("PropertyNo")->Value=(_bstr_t)strPropertyNo;
		m_pRecordset->GetFields()->GetItem("UserNo")->Value=(_bstr_t)strUserNo;
		m_pRecordset->Update();
		m_pRecordset->Close();*/
		return TRUE;
	}
	catch(_com_error e)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -