谁能帮我!我实在是不知道该怎么做了!
shunv 2000-01-11 02:51:00 程序是这样的:
if not dmZu.dsDep.DataSet.IsEmpty then
begin
dmZu.dsDep.DataSet.Close;
dmZu.dsDep.DataSet.Open;
dmZu.tbDep.First;
while not dmZu.tbDep.Eof do
begin
aDepID:=dmZu.tbDep.FieldByName('DEPT_ID').AsInteger;这段程序的死循环就在这里;
aSupID:=dmZu.tbDep.FieldByName('SUP_DEPT_ID').AsInteger;
if dmZu.tbDep.FieldByName('DEPT_ID').AsInteger=0 then
begin
Child1:=TV.Items.AddChild(TreeNode1,dmZu.dsDep.DataSet.FieldByName('DEPT_NAME').AsString);
.
.
.
dmZu.dsP_D.DataSet.First;
while not dmZu.dsP_D.DataSet.Eof do
begin
if dmZu.dsP_D.DataSet.FieldByName('DEPT_ID').AsInteger=aDepID then
begin
aPosID:=dmZu.dsP_D.DataSet.FieldByName'POSITION_ID').AsInteger;
if dmZu.dsPos.DataSet.Locate('POSITION_ID',aPosID,[loCaseInsensitive]) then
sPos:=dmZu.dsPos.DataSet.FieldByName('POS_NAME').AsString;
TV.Items.AddChild(Child1,sPos);
end;
dmZu.dsP_D.DataSet.Next;
end;
end else
begin
.
.
end;
dmZu.tbDep.Next;
end;
end;
我是过了用dataset ,table 都不可以;我用断点调试,在执行了dmZu.tbDep.Next;这句后,数据库的指针还是指向第一条记录.在这之前没有对该dataset的操作.只有对其他dataset的操作,但是于它没有关系.谁可以告诉我,这还可能是由于什么原因?我是没有办法了,这个问题已经困扰了我两天了.谢谢!