}
if(*e) e++; else { if(*p != _T('\\0')) { aryItem.Add(p); nCount++; } p = ++e; } }
return nCount;
void OpenDB(void) //用默认字符串打开数据库 { if(!m_database.IsOpen()) { m_database.Open(_T(cSQL)); m_recordSet.m_pDatabase=&m_database; } }
void OpenDB(CString str) //用指定字符串打开数据库 { if(!m_database.IsOpen()) { m_database.Open(_T(str)); m_recordSet.m_pDatabase=&m_database; } }
void OpenDB(CDatabase &db,CRecordset &rs) 库和数据集变量打开数据库 { if(!db.IsOpen()) { db.Open(_T(cSQL)); rs.m_pDatabase=&db; } }
21
//用新数据
CString FixValue(CString temp) { }
//修正金额字符串
temp=temp.Left(temp.GetLength()-3)+\元\return temp;
CString FixTime(CString temp) //修正时间字符串 { temp=temp.Left(temp.GetLength()-9); return temp; }
CString FixAccount(CString temp) //修正帐户字符串 { CRecordset rs; rs.m_pDatabase=&m_database; CString strSQL; if (temp==\现金\ strSQL.Format(\User=\
rs.Open(CRecordset::forwardOnly,strSQL); if (rs.GetRecordCount()!=0) rs.GetFieldValue(\ rs.Close(); return temp; }
CString FixInType(CString temp) //修正类型字符串 { CRecordset rs; rs.m_pDatabase=&m_database; CString strSQL; strSQL.Format(\from InType where ID=\ rs.Open(CRecordset::forwardOnly,strSQL); if (rs.GetRecordCount()!=0) rs.GetFieldValue(\ rs.Close(); return temp; }
22
CString FixOutType(CString temp) //修正类型字符串 { CRecordset rs; rs.m_pDatabase=&m_database; CString strSQL; strSQL.Format(\Title from OutType where ID=\ rs.Open(CRecordset::forwardOnly,strSQL); if (rs.GetRecordCount()!=0) rs.GetFieldValue(\ rs.Close(); return temp; }
//////用法:GetCount(数据集,数据集打开字符串)///////////////////// long GetCount(CRecordset &rs,CString str) { for(long n=0;!rs.IsEOF();rs.MoveNext()) n++; ////得到数据集的数目,相当于 rs.Close(); rs.Open(CRecordset::forwardOnly,str);
////但是不会出现使用错误 return n; }
/////////////////////////////////////////////////////////////////////////////
void SetDate(CString time,CDateTimeCtrl &timer)
////根据字符串设置时间框 { int nYear,nMonth,nDay,nhour,nMinute,nSecond; CString a,b; a=time.Left(time.GetLength()-9); sscanf(a,\ b=time.Right(8); sscanf(b,\ CTime t(nYear,nMonth,nDay,nhour,nMinute,nSecond); timer.SetTime(&t); }
//////////////////////////////////////////////////////
//在字符串数组中查找指定的字符串
int FindStr(CString str,CStringArray &strArr) { for (int i=0;i 23 /////////////////////////////////////////////////// /////////查询该帐户的余额信息///////// float GetBalance(CString accountID) { CString strSQL,balance; strSQL.Format(\Type=%s\ OpenDB(); m_recordSet.Open(CRecordset::forwardOnly,strSQL); long n; n=m_recordSet.GetRecordCount(); if (n==0) balance=\ else { n=GetCount(m_recordSet,strSQL); for(int i=0;i ////将数据集指针移到最后 m_recordSet.GetFieldValue(\ } m_recordSet.Close(); float b; sscanf(balance,\ return b; } ////////////////////////////////////////////// CNCUView.h //头文件包含 #include \#include \#include \#include \#include \#include \ #include \CPropertySheet m_sheet; CPropertyPage *m_page; CNCUView.cpp ////////////////////////////////////////////////////////////// // CNCUView 消息处理函数 void CNCUView::OnIn() { //收支信息 24 DestoryTab(); m_pic=(CStatic*)GetDlgItem(IDC_STATIC); m_pic->ModifyStyle(WS_VISIBLE,NULL); this->RedrawWindow(); m_page=&m_page1; CreateTab();} void CNCUView::OnBanlance() { //余额信息 DestoryTab(); m_pic=(CStatic*)GetDlgItem(IDC_STATIC); m_pic->ModifyStyle(WS_VISIBLE,NULL); this->RedrawWindow(); m_page=&m_page2; CreateTab(); } void CNCUView::OnAccount() { // 银行账户 DestoryTab(); m_pic=(CStatic*)GetDlgItem(IDC_STATIC); m_pic->ModifyStyle(WS_VISIBLE,NULL); this->RedrawWindow(); m_page=&m_page3; CreateTab(); } void CNCUView::OnUser() { //用户设置按钮 DestoryTab(); m_pic=(CStatic*)GetDlgItem(IDC_STATIC); m_pic->ModifyStyle(WS_VISIBLE,NULL); this->RedrawWindow(); m_page=&m_page4; CreateTab(); } void CNCUView::OnFile() { } //导出按钮 DestoryTab(); m_pic=(CStatic*)GetDlgItem(IDC_STATIC); m_pic->ModifyStyle(WS_VISIBLE,NULL); this->RedrawWindow(); m_page=&m_page5; CreateTab(); 25