📄 crdbsdlg.cpp
字号:
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 + -