📄 cbsystem.cpp
字号:
//strName = pPropName->GetString();
strBh = pPropBh->GetString();//m_CePropVal.val.lpwstr;
strNameID = pPropNameID->GetString();
strName = pPropName->GetString();
strID = pPropID->GetString();
strPower = pPropPower->GetString();
////***********************************************
CString s0((LPCTSTR)strBh);
CString s1((LPCTSTR)strNameID);
CString s2((LPCTSTR)strID);
CString s3((LPCTSTR)strPower);
CString s4((LPCTSTR)strName);
CString s=s0 + TEXT('|') + s1 + TEXT('|') + s2 + TEXT('|') + s3 + TEXT('|') + TEXT('#');
return (LPTSTR)(LPCTSTR)s;
}
//****FUNCTION****//
//Return Record from table and made of string with where Sentence.
LPTSTR WhPrintMessage(CCeDBRecord* prec)
{
LPTSTR strName, strNameID,strPower;
strName = NULL;
strNameID = NULL;
strPower = NULL;
CCeDBProp *pPropName, *pPropNameID, *pPropPower;
pPropName = prec->GetPropFromIdent(PROP_NAME);
pPropNameID = prec->GetPropFromIdent(PROP_NAMEID);
pPropPower = prec->GetPropFromIdent(PROP_POWER);
//strName = pPropName->GetString();
strName = pPropName->GetString();//m_CePropVal.val.lpwstr;
strNameID = pPropNameID->GetString();
strPower = pPropPower->GetString();
////***********************************************
CString s1((LPCTSTR)strName);
CString s2((LPCTSTR)strNameID);
CString s3((LPCTSTR)strPower);
CString s = s1 + TEXT('|') + s2 + TEXT('|') + s3 + TEXT('|') + TEXT('#');
return (LPTSTR)(LPCTSTR)s;
}
//****FUNCTION****//
//Delete db.
void Deletedb()
{
if(db.Open(TEXT("NEWPOWER")))
db.Delete();
}
//****FUNCTION****//
//Empty db.
void Emptydb()
{
CCeDBDatabase db;
BOOL bPrev;
if(db.Open(TEXT("NEWPOWER")))
{
CCeDBDatabase *pdb = new CCeDBDatabase;
pdb = &db;
bPrev = pdb->m_bAutoSeekNext;
pdb->m_bAutoSeekNext = TRUE;
pdb->SeekFirst();
while(!pdb->m_bEOF)
{
db.DeleteCurrRecord();
pdb->SeekNext();
}AfxMessageBox(TEXT("数据库已清空!!!"));
}
db.Close();
}
//****FUNCTION****//
//Search Record from db.
void SearchRecord(CCeDBDatabase * pdb)
{
CCeDBRecord rec;
BOOL bPrev;
bPrev = pdb->m_bAutoSeekNext;
pdb->m_bAutoSeekNext = TRUE;
pdb->SeekFirst();
while(pdb->ReadCurrRecord(&rec))
PrintMessage(&rec);
pdb->m_bAutoSeekNext = bPrev ;
}
//****FUNCTION****//
//Search Record total number from db.
void SearchRecordNum()
{
CCeDBDatabase db;
AfxGetApp()->BeginWaitCursor();
if(db.Open(TEXT("NEWPOWER")))
{
//DWORD wNum;
LPWSTR lpowerold,lpower;
long SumPower=0;
CCeDBRecord rec;
int k=0;
CCeDBDatabase * pdb= new CCeDBDatabase;
pdb = &db;
//wNum = db.GetNumRecords();
int j = db.GetNumRecords();
for(int i =0;i<j;i++)
{
pdb->SeekToIndex(i);
pdb->ReadCurrRecord(&rec);
CCeDBProp* pPowerOld = rec.GetPropFromIdent(PROP_POWEROLD);
CCeDBProp* pPower = rec.GetPropFromIdent(PROP_POWER);
lpowerold = pPowerOld->m_CePropVal.val.lpwstr;
lpower = pPower->m_CePropVal.val.lpwstr;
CString s1 = lpowerold;
CString s2 = lpower;
SumPower += _wtol(s2) - _wtol(s1);
if((0 == _wtol(s2) - _wtol(s1)) || (0 == _wtol(s2)))
{
k++;
}
}
AfxGetApp()->EndWaitCursor();
wsprintf(szError,TEXT("记录总数为: %d条\n总用电量:%d度(取整)\n没有抄表户数:%d户"),j,SumPower,k);
MessageBox(NULL,szError,TEXT("查询结果 : "),MB_OK);
}
else
{
AfxMessageBox(TEXT("open db error"));
}
AfxGetApp()->EndWaitCursor();
db.Close();
}
//****FUNCTION****//
//Search Record with Where Sentence from db.
LPTSTR WhSearchRecord(LPWSTR lpsz)
{
CCeDBDatabase db;
CCeDBProp tProp(CCeDBProp::Type_String,PROP_ID);
db.Open(TEXT("NEWPOWER"),&tProp);
CCeDBRecord rec;
db.SeekFirst();
CCeDBProp pProp((LPWSTR)lpsz,PROP_ID);
if(db.SeekFirstEqual(pProp))
{
db.ReadCurrRecord(&rec);
return WhPrintMessage(&rec);
}
else
{
wsprintf(szError,TEXT("ERROR NO : %d (拼写不正确注意大小写)"),GetLastError());
MessageBox(NULL,szError,TEXT("Error"),MB_OK);
return 0;
}
db.Close();
}
//****FUNCTION****//
//Update db with where sentence.
BOOL WhUpdateDB(LPWSTR lpsz,LPWSTR lpsz1)
{
CCeDBDatabase db;
CCeDBProp tProp(CCeDBProp::Type_String,PROP_ID);
db.Open(TEXT("NEWPOWER"),&tProp);
CCeDBRecord rec;
db.SeekFirst();
CCeDBProp pProp((LPWSTR)lpsz,PROP_ID);
if(db.SeekFirstEqual(pProp))
{
db.ReadCurrRecord(&rec);
}
CCeDBProp* pPower = rec.GetPropFromIdent(PROP_POWER);
pPower->SetString(lpsz1);
CCeDBProp powerFilter(CCeDBProp::Type_String,PROP_POWER);
if(db.WriteCurrRecord(&rec,0,&powerFilter))
{
return 1;
}
else
{
return 0;
}
}
//*********function*****//
//insert record into listview
void LvInsertData(LVITEM lvitem,CListCtrl *pList)
{
CCeDBDatabase db;
CCeDBDatabase *pdb;
CCeDBRecord rec;
CCeDBRecord* prec;
LPTSTR strName, strNameID, strID, strPower, strPowerOld;
CCeDBProp *pPropName, *pPropNameID, *pPropID, *pPropPower, *pPropPowerOld;
if(db.Open(TEXT("NEWPOWER"),NULL,NULL))
pdb = &db;
pdb->m_bAutoSeekNext;
pdb->m_bAutoSeekNext = TRUE;
if(!pdb->SeekFirst())
{
AfxGetApp()->EndWaitCursor();
return;
}
else
{
while(!pdb->m_bEOF)
{
pdb->ReadCurrRecord(&rec);
prec = &rec;
//*********************//
strName = NULL;
strNameID = NULL;
strID = NULL;
strPower = NULL;
strPowerOld = NULL;
//pPropName = prec->GetPropFromIdent(PROP_BH);
pPropName = prec->GetPropFromIdent(PROP_NAME);
pPropNameID = prec->GetPropFromIdent(PROP_NAMEID);
pPropID = prec->GetPropFromIdent(PROP_ID);
pPropPower = prec->GetPropFromIdent(PROP_POWER);
pPropPowerOld = prec->GetPropFromIdent(PROP_POWEROLD);
//strName = pPropName->GetString();
strName = pPropName->GetString();//->m_CePropVal.val.lpwstr;
strNameID = pPropNameID->GetString();//->m_CePropVal.val.lpwstr;
strID = pPropID->GetString();//->m_CePropVal.val.lpwstr;
strPower = pPropPower->GetString();//->m_CePropVal.val.lpwstr;
strPowerOld = pPropPowerOld->GetString();//->m_CePropVal.val.lpwstr;
////***********************************************
lvitem.mask = LVIF_TEXT | LVIF_PARAM;
lvitem.iItem = pList->GetItemCount();
lvitem.iSubItem = 0;
lvitem.pszText = strID;
pList->InsertItem(&lvitem);
lvitem.mask = LVIF_TEXT;
lvitem.iSubItem = 1;
lvitem.pszText = strName;
lvitem.lParam = 0;
pList->SetItem(&lvitem);
////////
lvitem.mask = LVIF_TEXT;
lvitem.iSubItem = 2;
lvitem.pszText = strNameID;
lvitem.lParam = 0;
pList->SetItem(&lvitem);
///////
lvitem.mask = LVIF_TEXT;
lvitem.iSubItem = 3;
lvitem.pszText = strPowerOld;
lvitem.lParam = 0;
pList->SetItem(&lvitem);
///////
lvitem.mask = LVIF_TEXT;
lvitem.iSubItem = 4;
lvitem.pszText = strPower;
lvitem.lParam = 0;
pList->SetItem(&lvitem);
}
}
}
//*******************FUNCTION************************//
//**********with where sentence multi-printmessage***//
CString WhMultiPrintMessage(CCeDBRecord* prec)
{
LPTSTR strID,strName, strNameID,strPower,strPowerOld;
strID = NULL;
strName = NULL;
strNameID = NULL;
strPower = NULL;
strPowerOld = NULL;
CCeDBProp *pPropID, *pPropName, *pPropNameID, *pPropPower,*pPropPowerOld;
pPropID = prec->GetPropFromIdent(PROP_ID);
pPropName = prec->GetPropFromIdent(PROP_NAME);
pPropNameID = prec->GetPropFromIdent(PROP_NAMEID);
pPropPower = prec->GetPropFromIdent(PROP_POWER);
pPropPowerOld= prec->GetPropFromIdent(PROP_POWEROLD);
//strName = pPropName->GetString();
strID = pPropID->GetString();//->m_CePropVal.val.lpwstr;
strName = pPropName->GetString();//->m_CePropVal.val.lpwstr;
strNameID = pPropNameID->GetString();//->m_CePropVal.val.lpwstr;
strPower = pPropPower->GetString();//->m_CePropVal.val.lpwstr;
strPowerOld = pPropPowerOld->GetString();//->m_CePropVal.val.lpwstr;
////***********************************************
CString s1((LPCTSTR)strID);
CString s2((LPCTSTR)strName);
CString s3((LPCTSTR)strNameID);
CString s4((LPCTSTR)strPower);
CString s5((LPCTSTR)strPowerOld);
CString s = s1 + TEXT('|') + s2 + TEXT('|') + s3 + TEXT('|') + s4 + TEXT('|') + s5 + TEXT('|');
return s;
}
//**********************FUNCTION*********************//
//********with where sentence(PROP_NAME) multi-record search****//
LPTSTR WhSearchMultiRecord(LPWSTR lpsz)
{
CCeDBDatabase db;
CCeDBProp tProp(CCeDBProp::Type_String,PROP_NAME,CCeDBProp::Sort_Ascending);
db.Open(TEXT("NEWPOWER"),&tProp);
CCeDBRecord rec;
db.SeekFirst();
CCeDBProp pProp((LPWSTR)lpsz,PROP_NAME);
if(db.SeekFirstEqual(pProp))
{
CString szrtn,szrtn1,szrtn2;
int i=0;
db.ReadCurrRecord(&rec);
szrtn = WhMultiPrintMessage(&rec);
szrtn2 = szrtn;
while (db.SeekNextEqual(pProp) != 0)
{
i++;
db.ReadCurrRecord(&rec);
szrtn1 = WhMultiPrintMessage(&rec);
szrtn2 += TEXT('@');
szrtn2 += szrtn1;
}
szrtn2 += TEXT('@');
return (LPTSTR)(LPCTSTR)szrtn2;
}
else
{
wsprintf(szError,TEXT("输入有误错误号 : %d "),GetLastError());
MessageBox(NULL,szError,TEXT("Error"),MB_OK);
return 0;
}
db.Close();
}
//**********************FUNCTION*********************//
//********with where sentence(PROP_ID) multi-record search****//
LPTSTR WhSearchMultiRecordID(LPWSTR lpsz)
{
CCeDBDatabase db;
CCeDBProp tProp(CCeDBProp::Type_String,PROP_ID,CCeDBProp::Sort_Ascending);
db.Open(TEXT("NEWPOWER"),&tProp);
CCeDBRecord rec;
db.SeekFirst();
CCeDBProp pProp((LPWSTR)lpsz,PROP_ID);
if(db.SeekFirstEqual(pProp))
{
db.ReadCurrRecord(&rec);
return (LPTSTR)(LPCTSTR)WhMultiPrintMessage(&rec);
}
else
{
wsprintf(szError,TEXT("输入有误错误号 : %d "),GetLastError());
MessageBox(NULL,szError,TEXT("Error"),MB_OK);
return 0;
}
db.Close();
}
//**********************FUNCTION*********************//
//********with where sentence(PROP_NAMEID) multi-record search****//
LPTSTR WhSearchMultiRecordNAMEID(LPWSTR lpsz)
{
CCeDBDatabase db;
CCeDBProp tProp(CCeDBProp::Type_String,PROP_NAMEID,CCeDBProp::Sort_Ascending);
db.Open(TEXT("NEWPOWER"),&tProp);
CCeDBRecord rec;
db.SeekFirst();
CCeDBProp pProp((LPWSTR)lpsz,PROP_NAMEID);
if(db.SeekFirstEqual(pProp))
{
db.ReadCurrRecord(&rec);
return (LPTSTR)(LPCTSTR)WhMultiPrintMessage(&rec);
}
else
{
wsprintf(szError,TEXT("ERROR NO : %d (拼写不正确注意大小写)"),GetLastError());
MessageBox(NULL,szError,TEXT("Error"),MB_OK);
return 0;
}
db.Close();
}
//**********************FUNCTION*********************//
//********with where sentence(PROP_NAME) multi-record search****//
LPTSTR WhSearchMultiRecordJCH(LPWSTR lpsz)
{
CCeDBDatabase db;
CCeDBProp tProp(CCeDBProp::Type_String,PROP_BH,CCeDBProp::Sort_Ascending);
db.Open(TEXT("NEWPOWER"),&tProp);
CCeDBRecord rec;
db.SeekFirst();
CCeDBProp pProp((LPWSTR)lpsz,PROP_BH);
if(db.SeekFirstEqual(pProp))
{
CString szrtn,szrtn1,szrtn2;
int i=0;
db.ReadCurrRecord(&rec);
szrtn = WhMultiPrintMessage(&rec);
szrtn2 = szrtn;
while (db.SeekNextEqual(pProp) != 0)
{
i++;
db.ReadCurrRecord(&rec);
szrtn1 = WhMultiPrintMessage(&rec);
szrtn2 += TEXT('@');
szrtn2 += szrtn1;
}
szrtn2 += TEXT('@');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -