我在对一表进行处理时,将表中数据的teach_id,和teach_from_week 进行处理后,循环最加此条记录生成一条新的记录,但是循环确执行不了,帮我看看吧我很急!高分回报!!!procedure TF_kaoshixx.Button1Click(Sender: TObject);
var xkbh,kcdm,kd,st_id,student_team,id:string; gd,n,m,i,week,wek:integer;
begin
T_kb.Filter:='team='''+dbedit1.Text+'''';
T_kb.Filtered:=true;
T_kb.Open;
n:=T_kb.recordcount;
i:=0;
gauge.Progress:=0;
T_kb.First;
while not T_kb.Eof do
begin
xkbh:=T_kb['teach_id'];
gd:=2000+strtoint(xkbh);
id:=inttostr(gd);
edit2.text:=xkbh;
kcdm:=T_kb['teach_code'];
week:=T_kb['teach_to_week'];
kd:=kcdm[length(kcdm)]; //处理另一编号
if kd='0' then
wek:=week+1
else
wek:=week;
T_kb.AppendRecord([id,T_kb['teach_name'],T_kb['teach_grade'],T_kb['teach_class'],T_kb['teach_type'],
T_kb['teach_class_id'],T_kb['teach_student_number'],T_kb['teach_teacher'],T_kb['teach_xuan'],T_kb['teach_code'],
T_kb['teach_xf'],wek,wek,T_kb['teach_department'],T_kb['teach_department_id'],T_kb['team'],
T_kb['teach_memo'],now]);
T_student.Close;
T_student.Filter:='teach_id='''+edit2.text+'''';
T_student.Filtered:=true;
T_student.Open;
T_student.First;
m:=0;
while not T_student.Eof do //子循环
begin
T_student.AppendRecord([id,T_student['student_id'],T_student['team']]);
inc(m);
T_student.Next;
T_student.Refresh;
end;
inc(i);
T_kb.Next;
gauge.Progress:=(100*i) div n;
end;
end;
var xkbh,kcdm,kd,st_id,student_team,id:string; gd,n,m,i,week,wek:integer;
begin
T_kb.Filter:='team='''+dbedit1.Text+'''';
T_kb.Filtered:=true;
T_kb.Open;
n:=T_kb.recordcount;
i:=0;
gauge.Progress:=0;
T_kb.First;
while not T_kb.Eof do
begin
xkbh:=T_kb['teach_id'];
gd:=2000+strtoint(xkbh);
id:=inttostr(gd);
edit2.text:=xkbh;
kcdm:=T_kb['teach_code'];
week:=T_kb['teach_to_week'];
kd:=kcdm[length(kcdm)]; //处理另一编号
if kd='0' then
wek:=week+1
else
wek:=week;
T_kb.AppendRecord([id,T_kb['teach_name'],T_kb['teach_grade'],T_kb['teach_class'],T_kb['teach_type'],
T_kb['teach_class_id'],T_kb['teach_student_number'],T_kb['teach_teacher'],T_kb['teach_xuan'],T_kb['teach_code'],
T_kb['teach_xf'],wek,wek,T_kb['teach_department'],T_kb['teach_department_id'],T_kb['team'],
T_kb['teach_memo'],now]);
T_student.Close;
T_student.Filter:='teach_id='''+edit2.text+'''';
T_student.Filtered:=true;
T_student.Open;
T_student.First;
m:=0;
while not T_student.Eof do //子循环
begin
T_student.AppendRecord([id,T_student['student_id'],T_student['team']]);
inc(m);
T_student.Next;
T_student.Refresh;
end;
inc(i);
T_kb.Next;
gauge.Progress:=(100*i) div n;
end;
end;
数据集激活了吗?
你的程序写的太乱了!
你具体说一下错误在那里,错误提示是什么?
有问题请发信息到我的E-mail:[email protected]
begin
T_student.AppendRecord([id,T_student['student_id'],T_student['team']]);
inc(m);
T_student.Next;
是不是AppendRecord将记录移到最后一条了,跟一下看看.
你可以加一个这样的代码在循环之前:
if T_student.RecordCount then
begin
T_student.First;
m:=0;
while not T_student.Eof do //子循环
begin
T_student.AppendRecord([id,T_student['student_id'],T_student['team']]);
inc(m);
T_student.Next;
T_student.Refresh;
end;
inc(i);
T_kb.Next;
gauge.Progress:=(100*i) div n;
end;