sql查回来的返回值放哪儿了?(200分)

  • 主题发起人 主题发起人 ahxia
  • 开始时间 开始时间
A

ahxia

Unregistered / Unconfirmed
GUEST, unregistred user!
做一个web上查数据的isapi程序,
在TQuery建立了一个SQL语句,比如
select field1, field2 from table1 where ....
现在如果不用table这类的可视控件,怎么得到返回值呢?

:PP 很笨,但是需要用
 
procedure TshowForm.sg_showshuju(s:string);//数据显示,其中:s是SQL语句
var
i,j:integer;
begin
try
adoq_main.Close;
adoq_main.SQL.Clear;
adoq_main.SQL.Add(s);
adoq_main.Open;
i:=0;
sg_main.RowCount:=adoq_main.RecordCount+2;
adoq_main.First;
while (not adoq_main.Eof) do begin
i:=i+1;
sg_main.Cells[0,i]:=inttostr(i);
for j:=0 to adoq_main.FieldCount-1 do begin
//按顺序填进表中,至于显示哪些又是另一回事了。
sg_main.Cells[j+1,i]:=adoq_main.Fields[j].AsString;
end;
adoq_main.Next;
end;
adoq_main.Close;
except
application.MessageBox('打开数据库失败!','错误:',MB_ICONERROR+MB_OK);
end;
end;
 
就在query的fields中啊!
如要查询的名为Util_Name(fields名), 则查询后的结果在query1Util_Name中
如:
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
detail:string;
begin
detail:='';
//sql为select * from ourdb where Util_Name=:key1
query1.close;
Query1.ParamByName('Key1').asstring:=lowercase(request.queryfields.Values['Util_Name']);
query1.Open;
if not query1.IsEmpty then
begin
query1.First;
while not query1.Eof do
begin
detail:=detail+query1Util_Name.Asstring;
query1.Next;
end;
end;
response.content:=detail
end;

 
Delphi C/S 4.0中自带示例,
好像在demo下的某一目录中,是有关web和isapi的。
希望对您有所帮助。谢谢。
 
你用table怎么样,用query也怎么样
比如,你用table时: table.FieldByName('field1').AsString
用query也是: query.FieldByName('field1').AsString
 
table是可视控件?不是吧:-)
query和table用起来差不多,虽然实际上差很多
 
多人接受答案了。
 
后退
顶部