多表操作比较的问题?在线等待!! Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiDB/html/delphi_20061216123719269.html
请大家帮个忙!我有两个数据表:基础数据表(编号,数据类型,数据项目,指标上界,指标下界,标准分)和数据采集表(编号,采集数据,得分,日期),首先要让用户选择数据类型,根据所选的数据类型从基础数据表中提取相应的编号和数据项目录入到数据采集表中,然后让用户在采集数据字段中填上相应的数据,再把所填的这些数据与基础数据表中的指标上界和指标下界进行比较,超过的话对应的标准分就减分,再把这个实际分数写到数据采集表中的得分字段.请问大家在DELPHI中怎么实现呢?能否说一下思路和相应的程序给我参考参考!!!急啊!
思路已经很清楚了。
1、你先把指标上届和下届使用查询方式找到,存储在变量中。
2、根据用户选择的类型,查询得到所需要的类型和数据。
3、通过对比变量进行计算,然后使用SQL语句存储到数据库中。
能否举个例子的程序啊,我是初学者,有思路也不知从何下手!请帮帮忙!
SmallHand(火龍) 所说的我明白,可你可能还不明白我的数据,我那个数据采集表是属于时时记录表方面的,每次记录的数据是与原先不一样的,所以每次都要录入一次数据编号,也就是说只要要录入采集来的数据都要先选择一次数据编号,而这些数据编号都归类成了几个数据类型,所以用户一选数据类型就可以录入相应的数据,然后才能进行比较运算,希望大家帮忙!
你的思路已经很清楚了啊,假如界面上有一个ComboBox,在FormCreate中将[数据类型]填入,
再找出用户选择的记录select * from 基础数据表 where 数据类型=trim(ComboBox.Text)
再将这些数据填入到相应的Edit中,Edit_BH.Text := DataSet.FieldByName('编号').Value
...(除了得分之外)
最后判断指标上下界,设置标准分
with ADODataSet do
begin
if (X := FieldByName('指标上界')-FieldByName('指标下界'))>0 then
Edit_DF.Text := FieldByName('标准分') - X;
end;
提交数据
with ADOCommand do
begin
try
CommandText := 'Insert into 数据采集表 Values(:BH,:CJSJ,:DF,:RQ)';
Parameters.ParameterByName['BH'].Value := BH;
Parameters.ParameterByName['CJSJ'].Value := CJSJ;
Parameters.ParameterByName['DF'].Value := DF;
Parameters.ParameterByName['RQ'].Value := RQ;
Execute;
except
end;
end;
谢谢!