?? 實(shí)例——實(shí)現(xiàn)動(dòng)態(tài)參數(shù)查詢.txt
字號(hào):
<!---------------如下是HTML語句--------------->
html>
<body>
<h4><b><i>查詢某地的客戶信息</i></b></h4>
<form action="/scripts/PQuery_Client_Area.DLL/runquery" method="get">
<!---------------如下用于定義國(guó)內(nèi)客戶的地--------------->
<p><select name="mc">
<option value="1">北京市</option>
<option value="2">上海市</option>
<option value="3">天津市</option>
<option value="4">重慶市</option>
<option value="5">內(nèi)蒙古自治區(qū)</option>
<option value="6">山西省</option>
<option value="7">河北省</option>
<option value="8">遼寧省</option>
<option value="9">吉林省</option>
<option value="10">黑龍江省</option>
<option value="11">江蘇省</option>
<option value="12">安徽省</option>
<option value="13">山東省</option>
<option value="14">浙江省</option>
<option value="15">江西省</option>
<option value="16">福建省</option>
<option value="17">湖南省</option>
<option value="18">湖北省</option>
<option value="19">河南省</option>
<option value="20">廣東省</option>
<option value="21">海南省</option>
<option value="22">廣西壯族自治區(qū)</option>
<option value="23">貴州省</option>
<option value="24">四川省</option>
<option value="25">云南省</option>
<option value="26">陜西省</option>
<option value="27">甘肅省</option>
<option value="28">寧夏回族自治區(qū)</option>
<option value="29">青海省</option>
<option value="30">新疆維吾爾自治區(qū)</option>
<option value="31">西藏自治區(qū)</option>
</select>
<input type="submit" value="確認(rèn)"> </p>
</FORM>
</body>
</html>
unit Uquery_Client_Area;
interface
uses
//說明使用系統(tǒng)的單元文件
Windows, Messages, SysUtils, Classes, HTTPApp, Db, DBTables, DBWeb,
HTTPProd;
type
//如下是Web模塊上所包含組件的相關(guān)描述
TWebModule1 = class(TWebModule)
KehuQry: TQuery;
//查詢客戶信息的查詢組件
FirstPageProducer: TPageProducer;
//形成網(wǎng)頁的頁面生成組件
//如下是在網(wǎng)頁顯示的客戶信息內(nèi)容的字段和數(shù)據(jù)類型
KehuQryBDEDesigner: TSmallintField;
KehuQryBDEDesigner2: TStringField;
KehuQryBDEDesigner3: TStringField;
KehuQryBDEDesigner4: TStringField;
KehuQryBDEDesigner5: TStringField;
KehuQryBDEDesigner6: TStringField;
KehuQryBDEDesigner7: TStringField;
procedure WebModule1RootAction(Sender: TObject; Request: TWebRequest;
Response: TWebResponse; var Handled: Boolean);
//定義缺省動(dòng)作項(xiàng)的事件處理過程
procedure WebModule1QueryKehuAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
//定義查詢動(dòng)作項(xiàng)的事件處理過程
private
{ Private declarations }
public
{ Public declarations }
end;
var
WebModule1: TWebModule1;
implementation
{$R *.DFM}
procedure TWebModule1.WebModule1QueryKehuAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
//查詢動(dòng)作項(xiàng)的事件處理過程,它根據(jù)用戶選擇的地區(qū)作為查詢參數(shù),然后形成響應(yīng)用戶的Web頁面。
var
i,j,k:integer;
string1,str1,str3:string;
begin
KehuQry.close;
KehuQry.sql.clear;
//由于采用動(dòng)態(tài)查詢,其SQL語句必須動(dòng)態(tài)產(chǎn)生,所以先清楚原有的SQL語句
string1:=Request.Query;
j:=length(Request.Query);
//獲取Web客戶請(qǐng)求參數(shù)長(zhǎng)度
i:=pos('=',Request.Query);
//確定“=”在請(qǐng)求參數(shù)中的位置
str1:=copy(Request.Query,i+1,j-i);
//獲取“=”號(hào)右邊的內(nèi)容,即地區(qū)編號(hào)
k:=StrToInt(str1);
//將Web客戶選擇省、市、自治區(qū)的序號(hào)轉(zhuǎn)換為數(shù)值類型,并作為查詢的參數(shù)
//如下各省市自治區(qū)的排序不一定準(zhǔn)確,且不包括特別行政區(qū),只是個(gè)示例
case k of
//根據(jù)用戶選擇的序號(hào),產(chǎn)生相應(yīng)的省市、自治區(qū)名稱,作為動(dòng)態(tài)查詢參數(shù)的值
1:str3:='北京市';
2:str3:='上海市';
3:str3:='天津市';
4:str3:='重慶市';
5:str3:='內(nèi)蒙古自治區(qū)';
6:str3:='山西省';
7:str3:='河北省';
8:str3:='遼寧省';
9:str3:='吉林省';
10:str3:='黑龍江省';
11:str3:='江蘇省';
12:str3:='安徽省';
13:str3:='山東省';
14:str3:='浙江省';
15:str3:='江西省';
16:str3:='福建省';
17:str3:='湖南省';
18:str3:='湖北省';
19:str3:='河南省';
20:str3:='廣東省';
21:str3:='海南省';
22:str3:='廣西壯族自治區(qū)';
23:str3:='貴州省';
24:str3:='四川省';
25:str3:='云南省';
26:str3:='陜西省';
27:str3:='甘肅省';
28:str3:='寧夏回族自治區(qū)';
29:str3:='青海省';
30:str3:='新疆維吾爾自治區(qū)';
31:str3:='西藏自治區(qū)';
end;
KehuQry.sql.add('select 客戶號(hào),工作省市,公司名稱,聯(lián)系人,職務(wù),移動(dòng)電話,通信地址 from kehu where 工作省市=:mc');
{重新生成查詢組件的SQL語句,其中Request.Query是用戶在主頁中輸入的客戶所在的地區(qū),這樣就可以根據(jù)用戶的選擇,實(shí)現(xiàn)不同條件的數(shù)據(jù)庫查詢}
KehuQry.Params[0].Asstring:=str3;
{將用戶確定的省、市、自治區(qū)作為條件,查出其相關(guān)地區(qū)的客戶,即為查詢參數(shù)賦值。}
Response.content:='<HTML><HEAD><TITLE>客戶查詢</TITLE></HEAD><BODY>'#13+
'<H3 ALIGN="CENTER"><FONT COLOR="#97694F">查詢所在區(qū)域的客戶名單
</FONT></H3>'#13+'<table border>'#13;
//產(chǎn)生Web表格和標(biāo)題
Response.content:=Response.content+'<TR BgColor="White"><TH>客戶號(hào)
</TH><TH>地 域</TH><TH>公司名稱</TH><TH>聯(lián)系人</TH><TH>職務(wù)</TH>
<TH>移動(dòng)電話</TH><TH>通信地址</TH></TR>';
//指定Web表格每列的標(biāo)題
KehuQry.Open;
//查詢滿足用戶指定地區(qū)的客戶
KehuQry.First;
while not KehuQry.EOF do
//本循環(huán)填寫Web表格的內(nèi)容,每次填寫一行,直至所有記錄填寫完成
begin
Response.content:=Response.content+Format('<tr><td>%d</td><td>%s</td>
<td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>'#13,
[KehuQryBDEDesigner.AsInteger,KehuQryBDEDesigner2.AsString,
KehuQryBDEDesigner3.AsString,KehuQryBDEDesigner4.AsString,
KehuQryBDEDesigner5.AsString,KehuQryBDEDesigner6.AsString,
KehuQryBDEDesigner7.AsString]);
//填寫Web表格每一列的內(nèi)容,一次填寫一行
KehuQry.Next;
//獲取下一個(gè)記錄
end;
Response.content:=Response.content+'</table></BODY></HTML>'#13;
//形成作為HTTP響應(yīng)消息的內(nèi)容,并賦給TWebResponse對(duì)象的Content屬性
end;
procedure TWebModule1.WebModule1RootAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
//缺省動(dòng)作項(xiàng)的事件處理過程
begin
Response.content:=FirstPageProducer.content;
//第一個(gè)動(dòng)作項(xiàng)用于產(chǎn)生Web客戶主頁,供用戶選擇地區(qū)
//在用戶選擇后,指向第二個(gè)動(dòng)作項(xiàng),完成客戶信息的查詢
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -