實現動態引數查詢

2021-04-24 18:46:08 字數 3930 閱讀 5286

html>

查詢某地的客戶資訊

unit uquery_client_area;

inte***ce

uses

//說明使用系統的單元檔案

//如下是web模組上所包含元件的相關描述

twebmodule1 = class(twebmodule)

kehuqry: tquery;

//查詢客戶資訊的查詢元件

firstpageproducer: tpageproducer;

//形成網頁的頁面生成元件

//如下是在網頁顯示的客戶資訊內容的字段和資料型別

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);

//定義預設動作項的事件處理過程

procedure webmodule1querykehuaction(sender: tobject;

request: twebrequest; response: twebresponse; var handled: boolean);

//定義查詢動作項的事件處理過程

private

public

end;

varwebmodule1: twebmodule1;

implementation

procedure twebmodule1.webmodule1querykehuaction(sender: tobject;

request: twebrequest; response: twebresponse; var handled: boolean);

//查詢動作項的事件處理過程,它根據使用者選擇的地區作為查詢引數,然後形成響應使用者的web頁面。

vari,j,k:integer;

string1,str1,str3:string;

begin

kehuqry.close;

kehuqry.sql.clear;

//由於採用動態查詢,其sql語句必須動態產生,所以先清楚原有的sql語句

string1:=request.query;

j:=length(request.query);

//獲取web客戶請求引數長度

i:=pos('=',request.query);

//確定「=」在請求引數中的位置

str1:=copy(request.query,i+1,j-i);

//獲取「=」號右邊的內容,即地區編號

k:=strtoint(str1);

//將web客戶選擇省、市、自治區的序號轉換為數值型別,並作為查詢的引數

//如下各省市自治區的排序不一定準確,且不包括特別行政區,只是個示例

case k of

//根據使用者選擇的序號,產生相應的省市、自治區名稱,作為動態查詢引數的值

1:str3:='北京市';

2:str3:='上海市';

3:str3:='天津市';

4:str3:='重慶市';

5:str3:='內蒙古自治區';

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:='廣西壯族自治區';

23:str3:='貴州省';

24:str3:='四川省';

25:str3:='雲南省';

26:str3:='陝西省';

27:str3:='甘肅省';

28:str3:='寧夏回族自治區';

29:str3:='青海省';

30:str3:='新疆維吾爾自治區';

31:str3:='**自治區';

end;

kehuqry.sql.add('select 客戶號,工作省市,公司名稱,聯絡人,職務,移動**,通訊位址 from kehu where 工作省市=:mc');

kehuqry.params[0].asstring:=str3;

response.content:=''#13+

''#13+''#13;

//產生web**和標題

response.content:=response.content+'客戶號

地 域

公司名稱

聯絡人職務

移動**

通訊位址

'; //指定web**每列的標題

kehuqry.open;

//查詢滿足使用者指定地區的客戶

kehuqry.first;

while not kehuqry.eof do

//本迴圈填寫web**的內容,每次填寫一行,直至所有記錄填寫完成

begin

response.content:=response.content+format('%d

%s%s

%s%s

%s%s

'#13,

[kehuqrybdedesigner.asinteger,kehuqrybdedesigner2.asstring,

kehuqrybdedesigner3.asstring,kehuqrybdedesigner4.asstring,

kehuqrybdedesigner5.asstring,kehuqrybdedesigner6.asstring,

kehuqrybdedesigner7.asstring]);

//填寫web**每一列的內容,一次填寫一行

kehuqry.next;

//獲取下乙個記錄

end;

response.content:=response.content+'

'#13;

//形成作為http響應訊息的內容,並賦給twebresponse物件的content屬性

end;

procedure twebmodule1.webmodule1rootaction(sender: tobject;

request: twebrequest; response: twebresponse; var handled: boolean);

//預設動作項的事件處理過程

begin

response.content:=firstpageproducer.content;

//第乙個動作項用於產生web客戶主頁,供使用者選擇地區

//在使用者選擇後,指向第二個動作項,完成客戶資訊的查詢

end;

end.

mysql儲存過程動態引數查詢

1 動態sql,即動態引數 在儲存過程中,想要直接用表名變數做引數,動態執行sql,不能直接寫 12 3456 7createprocedure tablenamechar 20 begin select fromtablename end mysql 不支援表名作為變數,這樣會直接將變數名 tab...

easyui js中動態拼接查詢引數

公司前端框架使用easyui layui,當我們需要開發乙個匯出功能,呼叫window.location.href方式彈出新的頁面,匯出資料 時發現 此處傳參只能傳url的字串,因此引數必須類似於此時,我們需要通過不同元件的getvalue方法或者val 的方式,獲取到相應的引數以及引數名。將其拼接...

Django 多引數的ORM動態查詢

前端頁面有幾個輸入框用於搜尋資料。使用者可以按需填入搜尋條件傳給後台,後台再按條件查詢返回。查詢資料發現orm查詢中可以有filter dict 這種查詢方式,所以有以下查詢。def search stu info request argument getarguments request try ...