用了这么长时间,delphi 字符中&符号怎么这么恐怖.
最近写一个以exe文件为户端(其实还是利用asp)访问远程数据库access,然后添加记录代码如下:
procedure TfmMain.GfSpeedButton1Click(Sender: TObject);
var
Url,s : string;
Response : TStringStream;
Request : TStrings;
idHttp1:tidhttp;
Doc: IHTMLDocument2;
doc2:variant;
begin
//Doc := wb1.Document as IHTMLDocument2;
//Memo1.Lines.Add(Doc.body.outertext);
idHttp1:=TIdHTTP.Create(Self);
Response := TStringStream.Create('');
try
Request := TStringList.Create ;
try
s := 'cname='+trim(GfEdit1.text)+
''&''+'tqq='+trim(gfedit2.text)+
''&''+'phone='+trim(gfedit3.text)+
''&''+'dz='+trim(gfedit4.text)+
''&''+'je='+trim(gfedit5.text)+
''&''+'zh='+trim(gfedit6.text)+
''&''+'lx='+trim(self.GfComboBox1.Text); //这里构造一个串 有问题
//而直接这样的话就可以
s:='usr=UU&pas=pa';
s:=StringReplace(s,' ','',[rfReplaceAll, rfIgnoreCase]);
//s:='user=wwle&pass=wwle';
ShowMessage(s);
Request.Append(s);
Url:='Http://202.196.72.84/cldd.asp';
//Url:='http://www.com/ddgl/cldd.asp';
IdHTTP1.Request.ContentType :='application/x-www-form-urlencoded';
idHTTP1.Request.ContentLength := Length(s);
IdHTTP1.Post(Url,Request,Response);
Mmo1.Lines.Text := Trim(Response.DataString);
self.wb1.Navigate('about:_blank');
doc2:=wb1.Document;
doc2.clear;
doc2.write(mmo1.lines.text);
doc2.close();
finally
Request.Free ;
end;
finally
Response.Free ;
idHttp1.Free;
end;
end;
正在找出答题不是 delphi 代码的问题,而是 asp 页面写的不严禁。