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

📄 detailquote.cpp

📁 这是一个功能相对完善的电脑报价管理系统 的一个例子
💻 CPP
字号:
// DetailQuote.cpp: implementation of the CDetailQuote class.
//
// 1 DId int 明细编号 
// 2 TId int 装机编号 Allow Null = False
// 3 FittingId int 配件序号 Allow Null = False
// 4 Num int 数量 Allow Null = False 默认值:1
// 5 SubTotal float 小计 Allow Null = True
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "QuoteManage.h"
#include "DetailQuote.h"
#include "ADOConn.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDetailQuote::CDetailQuote()
{
	TId = 0;
	FittingId = 0;
	Num = 0;
	SubTotal = 0;
}

CDetailQuote::~CDetailQuote()
{
}

// 判断是否存在此配件的装机信息
int CDetailQuote::HaveFitting(CString paraTId,CString paraFId)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	// 设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM DetailQuote WHERE FittingId = " + paraFId
		+ " And TId=" + paraTId;
	
	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

	//返回各列的值
	if (m_pRecordset->adoEOF)
		return 0;
	else
		return 1;

	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

// 从DetailQuote表中得到配件总数
int CDetailQuote::GetNum(CString paraTId)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	
	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT ISNull(SUM(Num),0) AS aSUM FROM DetailQuote WHERE TId = " + paraTId;
	
	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	
	//返回各列的值
	if (m_pRecordset->adoEOF)
		return 0;
	else
		return atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("aSUM"));
	
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

// 从DetailQuote表中得到总价
double CDetailQuote::GetTotal(CString paraTId)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	
	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT ISNULL(SUM(SubTotal),0) AS aSUM FROM DetailQuote WHERE TId = " + paraTId;
	
	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	
	//返回各列的值
	if (m_pRecordset->adoEOF)
		return 0.0;
	else
		return atof((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("aSUM"));
	
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}
// 读取明细信息
void CDetailQuote::GetInfo(CString paraDId)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM DetailQuote WHERE DId = " + paraDId;

	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	
	//返回各列的值
	if (m_pRecordset->adoEOF)
		CDetailQuote();
	else
	{
		DId = atol(paraDId);
		FittingId = atol((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("FittingId"));
		Num = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Num"));
		SubTotal = atof((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("SubTotal"));
	}

	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}
// 插入操作
void CDetailQuote::SqlInsert()
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置INSERT语句
	CString strTId;
	strTId.Format("%ld",TId);
	CString strFittingId;
	strFittingId.Format("%ld", FittingId);
	CString strNum;
	strNum.Format("%d", Num);
	CString strSubTotal;
	strSubTotal.Format("%lf", SubTotal);

	_bstr_t vSQL;
	vSQL = "INSERT INTO DetailQuote VALUES (" + strTId + ", "
		+ strFittingId + ", " + strNum + ", " + strSubTotal + ")";
	
	//执行INSERT语句
	m_AdoConn.ExecuteSQL(vSQL);	
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

// 修改操作
void CDetailQuote::SqlUpdate(CString paraDId)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	
	//设置UPDATE语句
	CString strTId;
	strTId.Format("%ld",TId);
	CString strFittingId;
	strFittingId.Format("%ld", FittingId);
	CString strNum;
	strNum.Format("%ld", Num);
	CString strSubTotal;
	strSubTotal.Format("%lf", SubTotal);
	
	_bstr_t vSQL;
	vSQL = "UPDATE DetailQuote SET Num = " + strNum + ", SubTotal = " + strSubTotal
		+ " WHERE DId = " + paraDId;	
	//执行UPDATE语句
	m_AdoConn.ExecuteSQL(vSQL);		
	//断开与数据库的连接
	m_AdoConn.ExitConnect();	
}

// 删除操作
void CDetailQuote::SqlDelete(CString paraDId)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();	
	//设置DELETE语句
	_bstr_t vSQL;
	vSQL = "DELETE FROM DetailQuote WHERE DId = " + paraDId;	
	//执行DELETE语句
	m_AdoConn.ExecuteSQL(vSQL);		
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

// 删除全部
void CDetailQuote::SqlDelAll(CString paraTId)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();	
	//设置DELETE语句
	_bstr_t vSQL;
	vSQL = "DELETE FROM DetailQuote WHERE TId = " + paraTId;	
	//执行DELETE语句
	m_AdoConn.ExecuteSQL(vSQL);		
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

⌨️ 快捷键说明

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