请问这个CGI程序错误出在哪?(50分)

  • 主题发起人 主题发起人 Unicorn
  • 开始时间 开始时间
U

Unicorn

Unregistered / Unconfirmed
GUEST, unregistred user!
以下是我的两个CGI响应事件:
procedure TWebModule1.WebModule1ListAllAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var HTML:string;
begin
HTML:='<HTML>';
HTML:=HTML+'<BODY>';
Table1.First;
while not Table1.Eof do
begin
HTML:=HTML+'<P>';
HTML:=HTML+Format('<a href="../scripts/pecgi.dll/listperson?id=%d">%s</a>',[Table1.fieldbyname('id').asinteger,Table1.fieldbyname('name').asstring]);
HTML:=HTML+'</P>';
Table1.Next;
end;
HTML:=HTML+'</BODY>';
HTML:=HTML+'</HTML>';
Response.Content:=HTML;
end;
procedure TWebModule1.WebModule1ListPersonAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
if Table1.Locate('id', Request.QueryFields.Values['id'], []) then
begin
ListPersonInfo.Header.Clear;
ListPersonInfo.Header.Add('This is the information about '+Table1.fieldbyname('name').asstring);
Response.Content:=ListPersonInfo.Content;
end
else
Response.Content := Format('<html><body><b>Name: %s not found</b></body></html>',[Request.QueryFields.Values['id']]);
end;

但是当我运行时,ListAll结果是正确的,但是一用到ListPerson
就出错:服务器错误(87),这到底是怎么回事呢?
 
你的ListPersonInfo是个什么东西?
ListPersonInfo的Content又是些什么?
问题可能就在这儿---^
 
hehe, listpersoninfo一定是个TQueryTableProducer:-)
问题应该就是listpersoninfo,改用tpageproducer吧, 非常好用, 灵活.


 
ListPersonInfo就是个TQueryTableProducer,我开始就用的是TPageProducer,也是出同样的问题,我才改用的TQueryTableProducer
结果还是一样,我怎么也没发现程序哪儿错了,这个鸟东西到底怎么回事?
出错信息中的87号错误代表了什么东西?
 
你的HTML变量为什么加了那么多''空值?
 
你的QUERY怎么写的?
 
各位兄台:
小弟已经发现错误处在哪了!不过还是要多多感谢各位!分数一会儿
送上!

另外,我还有一个小小的问题,也许不属于Delphi问题:
我的一个html文件有两个frame,我想点击左边frame包含的html文件上
的超文本链接时,其所连接的html文件在右边的frame中出现,应该怎么办?
 
呵呵, 还没人回答, 便宜让我占到了:-)
用<a href="xxx.html" target="FrameUWantToShow">就可以了.
 
漏了一点,在每个frame的定义中应该起一个可以识别的名字.比如:
<frameset cols=....>
<frame name=frame_left ...
<frame name=FrameUWantToShow ....
 
关于FRAME问题,你可以用FRONTGAGE98
之类的工具做一个网页,再看看其源文件
,就会很清楚。不过你要了解HTML语言。
 
该结束了吧???
 
多人接受答案了。
 

Similar threads

后退
顶部