怎样才能在两个表获得要求得数据

recherlau 2002-01-10 09:17:46
小弟是在(用CBC 5)编一个进销存得单机版的软件在理利用创建一个函数实现在进货表中提取数据到库存表时发现一个问题:
struct mySEL {
AnsiString PRUNO;
int TOT_STK;//总进货
int STK_PIN;//进货件数
int STK_PBK;//退货件数
int STK_PCS;//库存件数
int STK_SAL;//销售件数
int STK_PNT;//进货订货件数
int STK_PONT;//销售订货件数
};
DynamicArray<mySEL>mySELArray;
//
void __declspec(dllexport) SqlSumSelNo(TQuery *Query,AnsiString database,bool T)
{
Query->DatabaseName=database;

Query->Close();
Query->SQL->Clear();
//
Query->FieldDefs->Clear();
Query->FieldDefs->Add("PRUNO",ftString,16,false);//货号
Query->FieldDefs->Add("SAL",ftInteger,0,false); //销售件数
Query->FieldDefs->Add("STK",ftInteger,0,false); //总进货
Query->FieldDefs->Add("PIN",ftInteger,0,false); //进货件数
Query->FieldDefs->Add("PBK",ftInteger,0,false); //退货件数
Query->FieldDefs->Add("PCS",ftInteger,0,false); //库存件数
Query->FieldDefs->Add("PNT",ftInteger,0,false); //进货订货件数
Query->FieldDefs->Add("PONT",ftInteger,0,false); //销售订货件数
//
if(T){
Query->SQL->Add("select distinct A.PRUNO as PRUNO,"
"sum(A.PCS) as SAl,"
"B.TOT_STK-sum(A.PCS) as PCS");
Query->SQL->Add("from DREPT as A,mSTOCK as B");
Query->SQL->Add("where A.PRUNO=B.PRUNO");
Query->SQL->Add("group by PRUNO");
}
else
{Query->SQL->Add("select distinct A.PRUNO as PRUNO,"
"sum(A.PCS)+sum(B.STK_PNT) as PNT");
Query->SQL->Add("from DPENT as A,mSTOCK as B");
Query->SQL->Add("where B.PRUNO=A.PRUNO");
Query->SQL->Add("group by PRUNO");
}
Query->Open();
//
mySELArray.Length=Query->RecordCount;
if(!Query->Eof) {
for(int i=0;i<Query->RecordCount;i++){
Query->First();
if(T){
mySELArray[i].STK_SAL=Query->FieldByName("SAL")->AsInteger;
mySELArray[i].STK_PCS=Query->FieldByName("PCS")->AsInteger;
mySELArray[i].PRUNO=Query->FieldByName("PRUNO")->AsString;
}
else
{mySELArray[i].STK_PONT=Query->FieldByName("PNT")->AsInteger;
mySELArray[i].PRUNO=Query->FieldByName("PRUNO")->AsString;
}
Query->Next();
}
}
//
TTable *DB=DBM->mSTK;
for(int i=0;i<mySELArray.Length;i++){
/*Query->Close();
Query->SQL->Clear();
Query->SQL->Add("Update mSTOCK.DBF");
Query->SQL->Add("set");
Query->SQL->Add("STK_SAL='"+mySELArray[i].SELNO+"'");
Query->SQL->Add("where PRUNO='"+mySELArray[i].PRUNO+"'");
Query->Open();*/

DB->First();
while (!DB->Eof&&DB->FieldValues["PRUNO"]==mySELArray[i].PRUNO){
if(DB->State!=dsEdit) DB->Edit();
if(T){
DB->FieldValues["STK_SAL"]=mySELArray[i].STK_SAL;
DB->FieldValues["STK_PCS"]=mySELArray[i].STK_PCS;
}
else
{
DB->FieldValues["STK_PONT"]=mySELArray[i].STK_PONT;
}
DB->Next();
}

}
DB->Close();
...全文
31 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
92讲视频课+16大项目实战+课件源码  为什么学习数据分析?       人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。      从海量数据获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。   本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。  二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。  四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。  五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧