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

📄 crdbsdlg.cpp

📁 VC++与access实现的音像商店管理系统 VC++与access实现的音像商店管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
 m_listlend.DeleteAllItems();
	   m_rentset.MoveFirst();
 while(!m_rentset.IsEOF()) 
 {
        CString RDname,Cnum,date;

         m_rentset.GetFieldValue("RDname",RDname);
		 m_rentset.GetFieldValue("date",date);
		 m_rentset.GetFieldValue("Cnum",Cnum);
		 

        InsertlendInfoItem(RDname,date,Cnum);
 
		 m_rentset.MoveNext();}
         m_rentset.Close();
}

void CCRDBSDlg::OnBnClickedBtnCustomerAdd()    //添加函数
{customeradd();
 m_listCustomer.DeleteAllItems();
 InitCtrlCustomerData();
	// TODO: 在此添加控件通知处理程序代码
}

void CCRDBSDlg::OnBnClickedBtnCustomerMod()  //修改函数
{customerMod();
 m_listCustomer.DeleteAllItems();
 InitCtrlCustomerData();
	// TODO: 在此添加控件通知处理程序代码
}

void CCRDBSDlg::OnBnClickedBtnCustomerDel()   //删除函数
{

 customerDel();
 m_listCustomer.DeleteAllItems();
 InitCtrlCustomerData();
	// TODO: 在此添加控件通知处理程序代码
}

void CCRDBSDlg::OnBnClickedBtnCustomerQuery()   //查询函数
{  
   
    customerserarch();
    
}
	// TODO: 在此添加控件通知处理程序代码



void CCRDBSDlg::OnBnClickedBtnCustomerQuery2()


{   
	UpdateData(TRUE);
	InitCtrlRentData();
    
	// TODO: 在此添加控件通知处理程序代码
}

void CCRDBSDlg::OnBnClickedBtnCustomerAdd2()  
{  m_listCustomer.DeleteAllItems();
	InitCtrlCustomerData();
	// TODO: 在此添加控件通知处理程序代码
}

void CCRDBSDlg::OnBnClickedButton12()
{
	// TODO: 在此添加控件通知处理程序代码
}

void CCRDBSDlg::OnBnClickedButton13()
{m_listlend.DeleteAllItems();
	InitCtrllendData();
	// TODO: 在此添加控件通知处理程序代码
}
// CRDBSDlg.h : Ccustomer 类的实现



// Ccustomer 实现

// 代码生成在 2005年1月15日, 14:26

IMPLEMENT_DYNAMIC(Ccustomer, CRecordset)

Ccustomer::Ccustomer(CDatabase* pdb)
	: CRecordset(pdb)
{
	column1 = 0;
	m_Cname = L"";
	m_Cnum = L"";
	m_phone = L"";
	m_address = L"";
	m_nFields = 5;
	m_nDefaultType = dynaset;
}
//#error Security Issue: The connection string may contain a password
// 此连接字符串中可能包含密码
// 下面的连接字符串中可能包含明文密码和/或
// 其他重要信息。请在查看完
// 此连接字符串并找到所有与安全有关的问题后移除 #error。可能需要
// 将此密码存储为其他格式或使用其他的用户身份验证。
CString Ccustomer::GetDefaultConnect()
{
	return _T("DSN=a;DBQ=C:\\Documents and Settings\\Fly-snow\\My Documents\\c.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;");
}

CString Ccustomer::GetDefaultSQL()
{
	return _T("[customer]");
}

void Ccustomer::DoFieldExchange(CFieldExchange* pFX)
{
	pFX->SetFieldType(CFieldExchange::outputColumn);
// RFX_Text() 和 RFX_Int() 这类宏依赖的是
// 成员变量的类型,而不是数据库字段的类型。
// ODBC 尝试自动将列值转换为所请求的类型
	RFX_Long(pFX, _T("[编号]"), column1);
	RFX_Text(pFX, _T("[Cname]"), m_Cname);
	RFX_Text(pFX, _T("[Cnum]"), m_Cnum);
	RFX_Text(pFX, _T("[phone]"), m_phone);
	RFX_Text(pFX, _T("[address]"), m_address);

}
/////////////////////////////////////////////////////////////////////////////
// Ccustomer 诊断

#ifdef _DEBUG
void Ccustomer::AssertValid() const
{
	CRecordset::AssertValid();
}

void Ccustomer::Dump(CDumpContext& dc) const
{
	CRecordset::Dump(dc);
}
#endif //_DEBUG


// CRDBSDlg.h : CDisc 类的实现



// CDisc 实现

// 代码生成在 2005年1月15日, 19:45

IMPLEMENT_DYNAMIC(CDisc, CRecordset)

CDisc::CDisc(CDatabase* pdb)
	: CRecordset(pdb)
{
	column1 = 0;
	m_Did = L"";
	m_Dnum = L"";
	m_Dname = L"";
	m_star = L"";
	m_writer = L"";
	m_editor = L"";
	m_company = L"";
	m_sum = 0;
	m_nFields = 9;
	m_nDefaultType = dynaset;
}
//#error Security Issue: The connection string may contain a password
// 此连接字符串中可能包含密码
// 下面的连接字符串中可能包含明文密码和/或
// 其他重要信息。请在查看完
// 此连接字符串并找到所有与安全有关的问题后移除 #error。可能需要
// 将此密码存储为其他格式或使用其他的用户身份验证。
CString CDisc::GetDefaultConnect()
{
	return _T("DSN=a;DBQ=C:\\Documents and Settings\\Fly-snow\\My Documents\\c.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;");
}

CString CDisc::GetDefaultSQL()
{
	return _T("[Disc]");
}

void CDisc::DoFieldExchange(CFieldExchange* pFX)
{
	pFX->SetFieldType(CFieldExchange::outputColumn);
// RFX_Text() 和 RFX_Int() 这类宏依赖的是
// 成员变量的类型,而不是数据库字段的类型。
// ODBC 尝试自动将列值转换为所请求的类型
	RFX_Long(pFX, _T("[编号]"), column1);
	RFX_Text(pFX, _T("[Did]"), m_Did);
	RFX_Text(pFX, _T("[Dnum]"), m_Dnum);
	RFX_Text(pFX, _T("[Dname]"), m_Dname);
	RFX_Text(pFX, _T("[star]"), m_star);
	RFX_Text(pFX, _T("[writer]"), m_writer);
	RFX_Text(pFX, _T("[editor]"), m_editor);
	RFX_Text(pFX, _T("[company]"), m_company);
	RFX_Long(pFX, _T("[sum]"), m_sum);

}
/////////////////////////////////////////////////////////////////////////////
// CDisc 诊断

#ifdef _DEBUG
void CDisc::AssertValid() const
{
	CRecordset::AssertValid();
}

void CDisc::Dump(CDumpContext& dc) const
{
	CRecordset::Dump(dc);
}
#endif //_DEBUG



void CCRDBSDlg::OnBnClickedDiscShowall()     
{m_listDisc.DeleteAllItems();
	InitCtrlDiscData();
	// TODO: 在此添加控件通知处理程序代码
}


void CCRDBSDlg::OnBnClickedBtnDiscAdd()    //影碟添加按钮
{Discadd();   
 m_listDisc.DeleteAllItems(); 
 InitCtrlDiscData();
	// TODO: 在此添加控件通知处理程序代码
}
void CCRDBSDlg::OnBnClickedBtnDiscMod()      //影碟修改按钮
{
     DiscMod();
     m_listDisc.DeleteAllItems();
     InitCtrlDiscData();
}
   
void CCRDBSDlg::OnBnClickedBtnDiscDel()   //影碟删除按钮
{
	DiscDel();
    
	// TODO: 在此添加控件通知处理程序代码
}






void CCRDBSDlg::OnBnClickedBtnDiscQuery()
{Discserarch() ; 
	// TODO: 在此添加控件通知处理程序代码
}


void CCRDBSDlg::Rent()
{


if(!UpdateData())
 return;
if(m_lendcustomernum.IsEmpty())
{AfxMessageBox("请输入客户账号");return;}
if(m_lendDiscname.IsEmpty())
{AfxMessageBox("请输入影碟名称");return;}
if(m_lendmoney.IsEmpty())
{AfxMessageBox("请输入租碟押金");return;}


CRecordset rs(&m_database);
 CString sql;
 sql.Format("select  Cnum from customer where  Cnum='%s'",m_customernum);
 rs.Open( CRecordset::snapshot,sql);
 CString strCode=_T("");
 if(!rs.IsEOF())
 {rs.GetFieldValue((short)0,strCode);
 }
 rs.Close();
//UpdateData(TRUE);
COleDateTime dt= COleDateTime::GetCurrentTime();
CString currentDT=dt.Format();
CString sss;
		 sss.Format("select * from rent where RDname='%s'and Cnum='%s'",m_lendDiscname,m_lendcustomernum);
	     m_rentset.m_pDatabase=&m_database;
         m_rentset.Open(AFX_DB_USE_DEFAULT_TYPE,sss);
		 if(!m_rentset.IsEOF()){
	              AfxMessageBox("此客户已租借该影碟未返还,不可再租该影碟");m_rentset.Close();return;
	              }
		m_rentset.Close();
UpdateData(TRUE);
    m_rentset.m_pDatabase=&m_database;
    strSql.Format("select  * from rent" );
    m_rentset.Open(AFX_DB_USE_DEFAULT_TYPE,strSql);
	m_rentset.MoveLast();
	CDBVariant y;
		 m_rentset.GetFieldValue("编号",y);
		 int sum=y.m_iVal+1;
sql.Format("Insert into rent VALUES ('%d','%s','%s','%s','%s')",sum,m_lendDiscname,currentDT,m_lendmoney,m_lendcustomernum);
	m_rentset.Close();

  

 UpdateData(TRUE);
 m_discset.m_pDatabase=&m_database;
 CString str;
 str.Format("select  * from Disc where  Dname='%s'",m_lendDiscname);
 m_discset.Open(AFX_DB_USE_DEFAULT_TYPE,str);
 m_discset.MoveFirst();
  while(!m_discset.IsEOF()) 
 {
        CString name,num,star,writer,editor,company;long sum;

         m_discset.GetFieldValue("Dname",name);
		 m_discset.GetFieldValue("Dnum",num);
		 m_discset.GetFieldValue("star",star);
		 m_discset.GetFieldValue("writer",writer);
		 m_discset.GetFieldValue("editor",editor);
		 m_discset.GetFieldValue("company",company);
		 CDBVariant y;
		 m_discset.GetFieldValue("sum",y);
		 sum=y.m_lVal;

         long a=sum-1;
		 if(a<0){AfxMessageBox("已无此影碟可出租");m_discset.Close();return;}
		 
		 
	                                        
     
	
        
         
		 	 
			 
		 TRACE(sql);
         m_database.ExecuteSQL(sql); 
         str.Format("update Disc set Dnum='%s',star='%s',writer='%s',editor='%s',company='%s',sum='%ld' where Dname='%s'", num, star,writer,editor,company,a,name);
         TRACE(str);
         m_database.ExecuteSQL(str);

 
		 m_discset.MoveNext();}
         m_discset.Close();
		 m_listlend.DeleteAllItems();
         InitCtrllendData();
         m_listDisc.DeleteAllItems();
		 InitCtrlDiscData();

}

void CCRDBSDlg::OnBnClickedRent()
{Rent();
 

}
// CRDBSDlg.h : Crent 类的实现



// CRDBSDlg.h : Crent 类的实现



// Crent 实现

// 代码生成在 2005年1月16日, 14:37

IMPLEMENT_DYNAMIC(Crent, CRecordset)

Crent::Crent(CDatabase* pdb)
	: CRecordset(pdb)
{
	column1 = 0;
	m_RDname = L"";
	m_date = L"";
	m_money = L"";
	m_Cnum = L"";
	m_nFields = 5;
	m_nDefaultType = dynaset;
}
//#error Security Issue: The connection string may contain a password
// 此连接字符串中可能包含密码
// 下面的连接字符串中可能包含明文密码和/或
// 其他重要信息。请在查看完
// 此连接字符串并找到所有与安全有关的问题后移除 #error。可能需要
// 将此密码存储为其他格式或使用其他的用户身份验证。
CString Crent::GetDefaultConnect()
{
	return _T("DSN=a;DBQ=C:\\Documents and Settings\\Fly-snow\\My Documents\\c.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;");
}

CString Crent::GetDefaultSQL()
{
	return _T("[rent]");
}

void Crent::DoFieldExchange(CFieldExchange* pFX)
{
	pFX->SetFieldType(CFieldExchange::outputColumn);
// RFX_Text() 和 RFX_Int() 这类宏依赖的是
// 成员变量的类型,而不是数据库字段的类型。
// ODBC 尝试自动将列值转换为所请求的类型
	RFX_Long(pFX, _T("[编号]"), column1);
	RFX_Text(pFX, _T("[RDname]"), m_RDname);
	RFX_Text(pFX, _T("[date]"), m_date);
	RFX_Text(pFX, _T("[money]"), m_money);
	RFX_Text(pFX, _T("[Cnum]"), m_Cnum);

}
/////////////////////////////////////////////////////////////////////////////
// Crent 诊断

#ifdef _DEBUG
void Crent::AssertValid() const
{
	CRecordset::AssertValid();
}

void Crent::Dump(CDumpContext& dc) const
{
	CRecordset::Dump(dc);
}
#endif //_DEBUG



void CCRDBSDlg::OnBnClickedButton10()
{ back();
  


	// TODO: 在此添加控件通知处理程序代码
}
void CCRDBSDlg::back()
{if(!UpdateData())
 return;
if(m_lendcustomernum.IsEmpty())
{AfxMessageBox("请输入客户账号");return;}
if(m_lendDiscname.IsEmpty())
{AfxMessageBox("请输入影碟名称");return;}
 CString sql;
 UpdateData(TRUE);
 m_rentset.m_pDatabase=&m_database;
 sql.Format("select * from rent where RDname='%s'and Cnum='%s'",m_lendDiscname,m_lendcustomernum);
 m_rentset.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
 if(m_rentset.IsEOF()){
	AfxMessageBox("数据库里没有相应资料,请检查影碟名称和客户账号是否正确");
	m_rentset.Close();
	}
 else{m_rentset.Close();
 sql.Format("delete from rent where  RDname='%s' and Cnum='%s' ",m_lendDiscname,m_lendcustomernum);
 m_database.ExecuteSQL(sql);
 m_listlend.DeleteAllItems();
   InitCtrllendData();
   UpdateData(TRUE);
   m_discset.m_pDatabase=&m_database;
 
   sql.Format("select  * from Disc where  Dname='%s'",m_lendDiscname);
   m_discset.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
   m_discset.MoveFirst();
  while(!m_discset.IsEOF()) 
 {
        CString name,num,star,writer,editor,company;long sum;

         m_discset.GetFieldValue("Dname",name);
		 m_discset.GetFieldValue("Dnum",num);
		 m_discset.GetFieldValue("star",star);
		 m_discset.GetFieldValue("writer",writer);
		 m_discset.GetFieldValue("editor",editor);
		 m_discset.GetFieldValue("company",company);
		 CDBVariant y;
		 m_discset.GetFieldValue("sum",y);
		 sum=y.m_lVal;

         long a=sum+1;
		
         sql.Format("update Disc set Dnum='%s',star='%s',writer='%s',editor='%s',company='%s',sum='%ld' where Dname='%s'", num, star,writer,editor,company,a,name);
         TRACE(sql);
         m_database.ExecuteSQL(sql);

 
		 m_discset.MoveNext();}
         m_discset.Close();
         m_listDisc.DeleteAllItems();
	     InitCtrlDiscData();
 
}
}
CAbout about;
void CCRDBSDlg::OnBnClickedButton14()
{
	about.DoModal();
	// TODO: 在此添加控件通知处理程序代码
}

void CCRDBSDlg::OnClickListLend(NMHDR *pNMHDR, LRESULT *pResult)
{int nItem=m_listlend.GetNextItem(-1,LVNI_SELECTED);
if (nItem!=-1)
{m_lendDiscname=m_listlend.GetItemText(nItem,0);
 m_lendcustomernum=m_listlend.GetItemText(nItem,1);


 UpdateData(FALSE);}
	// TODO: 在此添加控件通知处理程序代码
	*pResult = 0;
}

void CCRDBSDlg::OnClickListDisc(NMHDR *pNMHDR, LRESULT *pResult)
{int nItem=m_listDisc.GetNextItem(-1,LVNI_SELECTED);
if (nItem!=-1)
{m_lendDiscname=m_Dname=m_listDisc.GetItemText(nItem,0);
 m_Dnum=m_listDisc.GetItemText(nItem,1);
 m_star=m_listDisc.GetItemText(nItem,2);
 m_writer=m_listDisc.GetItemText(nItem,3);
 m_editor=m_listDisc.GetItemText(nItem,4);
 m_company=m_listDisc.GetItemText(nItem,5);
 m_sum=m_listDisc.GetItemText(nItem,6);
 UpdateData(FALSE);}
	// TODO: 在此添加控件通知处理程序代码
	*pResult = 0;
}


void CCRDBSDlg::OnClickListCustomer(NMHDR *pNMHDR, LRESULT *pResult)  //在空格中显示所选信息
{int nItem=m_listCustomer.GetNextItem(-1,LVNI_SELECTED);
if (nItem!=-1)
{m_customername=m_listCustomer.GetItemText(nItem,0);
m_rentCumnumser=m_lendcustomernum=m_customernum=m_listCustomer.GetItemText(nItem,1);
 m_phone=m_listCustomer.GetItemText(nItem,2);                  
 m_address=m_listCustomer.GetItemText(nItem,3);

		 UpdateData(FALSE);

 }
// TODO: 在此添加控件通知处理程序代码
	*pResult = 0;


}

int CCRDBSDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CDialog::OnCreate(lpCreateStruct) == -1)
		return -1;

	// TODO:  在此添加您专用的创建代码

	return 0;
}

⌨️ 快捷键说明

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