在完成报表传输的同时,可提取部分数据并导入本地数据库中供经营分析使用。以提取网点的每日余额为例,核心代码如下:
FILE* fp;
if(fp=fopen(str_mbljwj,"r"))
{
CString ti="正在记录";
ti+=str_jgmc;
ti+=str_scrq;
ti+="余额";
m_ti.SetWindowText(ti);
//数据提取
CString str_dqhjhs,str_dqhjye,str_hqhjhs,str_hqhjye,str_dhlbhs,str_dhlbye;
CString str_hjzhs,str_hjzye;
char ch_linestring[500];
while(fgets(ch_linestring,500,fp))
{
CString str_linestring=ch_linestring;
if(str_linestring.Find("定期合计")>=0)
{
CString strfirst=str_linestring.Mid(str_linestring.Find("定期合计"));
CString str1=strfirst.Mid(strfirst.Find(_T('|'))+1);
CString str2=str1.Mid(str1.Find(_T('|'))+1);
str_dqhjhs=str1.Left(str1.Find(_T('|')));
str_dqhjye=str2.Left(str2.Find(_T('|')));
}
……
//导入数据库
……
MyDb->Execute(sql_calyeprev.AllocSysString(),NULL,adCmdText|adExecuteNoRecords );
MyDb->Execute(sql_calye.AllocSysString(),NULL,adCmdText|adExecuteNoRecords );
}
fclose(fp);
}
|