用Delphi在www上处理数据库中碰到的问题(50分)

  • 主题发起人 主题发起人 blackdove
  • 开始时间 开始时间
B

blackdove

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好,我用Delphi4,ISAPI做了一个project2.dll的文件,里面有一个我自己做的InsertData的Action。我用这个InsertData在一个paradox7.0的数据库中添加一个记录,这个记录是从html的表单中得到的(表单中的method为post)。输入第一个数据后提交,数据马上写到数据库中了(到这时还很正常),但是我back一下,回到表单中继续输入第二个记录,再次提交后,IE4显示“web site found,waitting for replay...”,状态条里的进度条进展很慢,几乎到了1/6处死住,但是在Sql Explor中refresh一下,可以看到,实际上数据早以写到数据库中,可IE还是一个劲的Waitting!请问大家这是怎么回事?那里有这方面的书或程序(我指在网上)?我想用Delphi4做一个讨论组和留言板,如果有可能的话我还想做一个聊天室,请问该怎么做?!
 
是不是又是Session:=AUTONAME在做怪?

这么多问题只给50分.... :-(

 
加一个TSession试试
 
应该不是这个问题, 贴source来看看.
 
您用的是什么Web服务器,我以前下了不少号称又小又快又比PWS好的各种Web服务器
这些东西有时会出现一些找不出原因的问题,所以,我最后还是用PWS调试cgi、isapi
你说的这个程序我也写过,当时我的字段有35个调试cgi时当然也是back了很多次末
曾出现所述情况。
 
想知道结果,呵呵
 
>>用Delphi4做一个留言板

网上Copy来,千万别骂我。

unit Html;

interface

uses
Windows, Messages, SysUtils, Classes, HTTPApp;

type
TWebModule1 = class(TWebModule)
procedure WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
procedure WebModule1WebActionItem2Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;

var
WebModule1: TWebModule1;

implementation

{$R *.DFM}

procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var html:string;
begin
html:='';
html:=html+'< html >< head >< title >会员注册< /title >< /head >< center >';
html:=html+'< H2 >会员注册< /H2 >< /center >';
html:=html+'< body background="" bgcolor="#fffff" >< td >< /td >';
html:=html+'< form action="webcgi.exe/Info" method="post" id="form1" name="form1" style="FONT-SIZE: larger" >';
html:=html+'< p >姓名:< input size="12" maxlength="10" name="UserName" >< /p >';
html:=html+'< p >性别:< input type="radio" name="Sex" value="Man" checked >男';
html:=html+'< input type="radio" name="Sex" value="Woman" >女< /p >';
html:=html+'< p >年龄:< input size="5" maxlength="3" name="Age" >< /p >' ;
html:=html+'< p >所在城市:< input size="20" maxlength="16" name="City" >< /p >' ;
html:=html+'< p >Email:< input size="24" maxlength="30" name="Email" >< /p >';
html:=html+'< p >留言:< textarea name="Textarea" rows="5" cols="30" >< /textarea >< /p >';
html:=html+'< center >< input type="submit" Name="submit" value=" 提 交 " >';
html:=html+'< input type="reset" value=" 取 消" >';
html:=html+'< /form >< /center >';
html:=html+'< /BODY >< /html >';
Response.Content :=html;
end;

procedure TWebModule1.WebModule1WebActionItem2Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
html:string;
Output: TextFile;
Counts,line:integer;
begin

Assignfile(Output, 'List.Txt');{如果没有list.txt文件会报错,须先手工创建。}
Append(output);
for counts:=0 to Request.ContentFields.Count-2 do
begin
if counts< Request.ContentFields.Count-2 then
begin
Write(Output, Request.ContentFields.Strings[counts]);
for line:=0 to 20-length(Request.ContentFields.Strings[counts]) do
begin
Write(Output,' ');
end;
end
else
begin
Write(Output, Request.ContentFields.Strings[counts]);
Writeln(Output,' ');
end ;
end;
CloseFile(output);
html:='';
html:=html+'< html >< head >< title >Thank You!< /title >< /head >< body >';
html:=html+'< center >< P >< H2 >'+Request.ContentFields.Values['UserName'];
html:=html+'您好!您已注册成功!< /H2 >< /P >';
html:=html+'< A href="http://zhou/scripts/Webcgi.exe" >点击这里返回< /A >';
html:=html+'< /center >< /body >< /html >';
Response.Content :=html;
end;

end.

 
可能是数据库打开关闭的问题,我用ASP时常有这事.
DELPHI没遇到过
 
多人接受答案了。
 
后退
顶部