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

📄 dboperate.cpp

📁 bp network,you can s
💻 CPP
字号:
// DBOperate.cpp: implementation of the CDBOperate class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "car.h"
#include "DBOperate.h"
#include <fstream.h>

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
extern CCarApp theApp;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDBOperate::CDBOperate()
{
    m_pRecordset.CreateInstance(__uuidof(Recordset));
}

CDBOperate::~CDBOperate()
{

}

void CDBOperate::InsertNewToUserCallInfo(CString strTeleNum,CTime OffHooktime,int TimeOnLine,int LineNum)
{
	CString sql;
	CString strTime;
	strTime=OffHooktime.Format("%m,%d,%Y %H:%M:%S");
	sql.Format("insert into usercall_info values ('%s','%s',%d,%d)",strTeleNum,strTime,TimeOnLine,LineNum);
    theApp.m_pConnection->Execute(_bstr_t(sql),NULL,adCmdText);
}
void CDBOperate::InsertNewToCarIn(CString CarID,int ntype,int LineNum)
{
	CString sql;
	sql.Format("insert into Car_in values ('%s',%d,%d,'0')",CarID,ntype,LineNum);
    theApp.m_pConnection->Execute(_bstr_t(sql),NULL,adCmdText);
}
std::vector<CString> CDBOperate::QueryCarID(std::vector<CString> CarID)
{
	std::vector <CString> QueriedCarID;
	CString sql,strCarID,temp;
	int i,pos;
	for(i=0;i<CarID.size();i++)
	{
		CarID[i].Replace('*','_');
		temp=strCarID;
		strCarID.Format("%s CarID like '%s' ",temp.GetBuffer(temp.GetLength()),CarID[i].GetBuffer(CarID[i].GetLength()));
		pos=-1;
		while(-1!=(pos=CarID[i].Find('_',pos+1)))
        {
			temp=strCarID;
			strCarID.Format(" %s And substring(CarID,%d,1)>'9'",temp.GetBuffer(temp.GetLength()),pos);
		}
		if(i<CarID.size()-1)
			strCarID+=" OR ";
	}
	
/*	CarID[CarID.size()-1].Replace('*','_');
	temp=strCarID;
	strCarID.Format("%s CarID like '%s'",temp.GetBuffer(temp.GetLength()),CarID[CarID.size()-1].GetBuffer(CarID[CarID.size()-1].GetLength()));*/
	sql.Format("select distinct CarId from Car_ID where %s",strCarID);
	//AfxMessageBox(sql);
    try
	{
		m_pRecordset->Open(_bstr_t(sql),theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockPessimistic,adCmdText);
	}
	catch(_com_error e) 
	{
		AfxMessageBox("QueryCarID打开记录集失败!");
	}
	while(!m_pRecordset->adoEOF)
	{
		QueriedCarID.push_back((LPCTSTR)(_bstr_t)(m_pRecordset->GetCollect("CarId")));
		m_pRecordset->MoveNext();
	}
	m_pRecordset->Close();
	return QueriedCarID;
}

bool CDBOperate::CarOutHaveRecorder(int LineNum)
{
	CString sql;
	int RecordNum;
	sql.Format("select count(*) from Car_Out where LineNum=%d",LineNum);
	m_pRecordset->Open(_bstr_t(sql),theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockPessimistic,adCmdText);
	RecordNum=(m_pRecordset->GetCollect(long(0))).iVal;
	m_pRecordset->Close();
     
	if(0!=RecordNum)
		return true;
	else 
		return false;
}
CString CDBOperate::GetInfoFromCarOut(int LineNum,char &ReturnType)
{
	CString sql,strReturn,temp;
	/////////返回查询结果///////////////////////////
    sql.Format("select CarInfo,Type from Car_Out where LineNum=%d",LineNum);
	m_pRecordset->Open(_bstr_t(sql),theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockPessimistic,adCmdText);
	strReturn=(LPCTSTR)(_bstr_t)(m_pRecordset->GetCollect("CarInfo"));
	temp=(LPCTSTR)(_bstr_t)(m_pRecordset->GetCollect("Type"));
	ReturnType=temp.GetAt(0);
	m_pRecordset->Close();

	////删除记录//////// 
	sql.Format("delete from Car_Out where LineNum=%d",LineNum);
	theApp.m_pConnection->Execute(_bstr_t(sql),NULL,adCmdText);
    /////////////////////////////////////
	return strReturn;

}

CString CDBOperate::GetLetterFromZip(CString zipcode)
{
	CString sql;
    sql.Format("select * from Zip_info where zipcode=%s",zipcode);
	m_pRecordset->Open(_bstr_t(sql),theApp.m_pConnection.GetInterfacePtr(),adOpenStatic,adLockPessimistic,adCmdText);
    if(0==m_pRecordset->GetRecordCount())
		return "";
	else
		return (LPCTSTR)(_bstr_t)(m_pRecordset->GetCollect("Letter"));
}

⌨️ 快捷键说明

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