在开发分布式多层系统过程中,我发现一个Dug在Delphi5.02中 (0分)

  • 主题发起人 主题发起人 小梅
  • 开始时间 开始时间

小梅

Unregistered / Unconfirmed
GUEST, unregistred user!
详细资料请到下面地址查看。
<A href="http://go7.163.com/~mgq/Bug/Bug.htm">详情请看....</A>
 
大家有好的办法吗?
 
你可以試試在下面程序段設置一下斷點,看看cdsCabMain.FieldByName('CMNo').Value的值
是怎樣變化的,再找解決方法:
procedure TForm1.PageControl1Change(Sender: TObject);
begin
if PageControl1.ActivePageIndex=1 then
begin
With DataMdo
begin
cdsCabPart.Close;
cdsCabPart.CommandText:='Select * from CabPart Where
CMNo='+IntToStr(cdsCabMain.FieldByName('CMNo').Value);
cdsCabPart.Open;
end;

end;

end;

通常我會用cdsCabMain.FieldByName('CMNo').AsString,而不用
IntToStr(cdsCabMain.FieldByName('CMNo').Value)。如果再有問題,試試以下笨方法:
procedure TForm1.PageControl1Change(Sender: TObject);
begin
if PageControl1.ActivePageIndex=1 then
begin
With DataMdo
begin
cdsCabPart.Active:=False;
//這里只是我喜愛用Active屬性多一點
if cdsCabMain.RecordCount>0 then
begin
if cdsCabMain.RecordCount=1 then
cdsCabMain.First;
cdsCabPart.CommandText:='Select * from CabPart Where
CMNo='+cdsCabMain.FieldByName('CMNo').AsString;
cdsCabPart.Active:=True;
end;
end;

end;

end;
 
我怎么从来都不会遇到这个问题
肯定是你的关联出现了问题
将子表的查询代码帖出来看看,就知道了
 
详细资料请到下面地址查看。
http://go7.163.com/~mgq/Bug/Bug.htm
 
接受答案了.
 
后退
顶部