• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      動(dòng)態(tài)查詢(xún)?cè)谌耸鹿芾硐到y(tǒng)中的應(yīng)用

      2009-12-31 00:00:00黃志良何冬梅
      商場(chǎng)現(xiàn)代化 2009年7期

      [摘 要] 本文通過(guò)對(duì)人事管理系統(tǒng)中自定義查詢(xún)?cè)淼姆治觯敿?xì)介紹了一種對(duì)所有字段可任意指定其條件,并可任意控制顯示的字段及其順序,實(shí)現(xiàn)動(dòng)態(tài)查詢(xún)的方法。

      [關(guān)鍵詞] 數(shù)據(jù)庫(kù) 多條件 動(dòng)態(tài)SQL查詢(xún)

      在數(shù)據(jù)庫(kù)管理系統(tǒng)中查詢(xún)不可缺少,現(xiàn)有的面向用戶(hù)的查詢(xún)系統(tǒng)大多是建立在固定的SQL查詢(xún)語(yǔ)句上,查詢(xún)時(shí)根據(jù)用戶(hù)給定的值進(jìn)行查詢(xún),實(shí)現(xiàn)比較簡(jiǎn)單。但用戶(hù)的要求往往是多種多樣的,當(dāng)用戶(hù)提出的查詢(xún)要求需要多基本表連接時(shí),就需要用戶(hù)事先指定連接關(guān)系;而有時(shí)應(yīng)用系統(tǒng)需求查詢(xún)條件是動(dòng)態(tài)的,由用戶(hù)來(lái)實(shí)現(xiàn)相對(duì)較難。為此本文通過(guò)探討其設(shè)計(jì)原理與實(shí)現(xiàn)過(guò)程,對(duì)學(xué)校人事管理系統(tǒng)中的自定義查詢(xún)功能進(jìn)行分析,提出了一種能根據(jù)用戶(hù)需求,可任意控制顯示的字段及其順序,并可對(duì)所有字段任意指定條件,動(dòng)態(tài)生成SQL查詢(xún)語(yǔ)句,從而實(shí)現(xiàn)數(shù)據(jù)庫(kù)動(dòng)態(tài)查詢(xún)的方法。

      一、原理分析

      1.設(shè)計(jì)原理

      在查詢(xún)過(guò)程中普通用戶(hù)通常對(duì)于SQL語(yǔ)法比較陌生,基于這一點(diǎn),我們將用戶(hù)查詢(xún)需求和SQL的生成分離開(kāi)來(lái),對(duì)于一般不熟悉數(shù)據(jù)庫(kù)語(yǔ)言的用戶(hù)更可讓其集中注意力提出查詢(xún)需求,而由系統(tǒng)去完成用戶(hù)需求與SQL語(yǔ)句相應(yīng)的轉(zhuǎn)換。用戶(hù)只需對(duì)用戶(hù)表達(dá)式進(jìn)行操作,無(wú)需與數(shù)據(jù)庫(kù)打交道,由系統(tǒng)建立用戶(hù)表達(dá)與數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句之間的聯(lián)系,對(duì)用戶(hù)的查詢(xún)需求進(jìn)行轉(zhuǎn)換,動(dòng)態(tài)生成可執(zhí)行的標(biāo)準(zhǔn)SQL語(yǔ)句,并完成查詢(xún)操作。

      在動(dòng)態(tài)查詢(xún)程序設(shè)計(jì)過(guò)程中需要考慮其實(shí)用性,友好性,完備性。因此,在動(dòng)態(tài)查詢(xún)的設(shè)計(jì)時(shí)使用“與”、“或”、“非”3種邏輯關(guān)系可以將查詢(xún)條件進(jìn)行組合;使用括號(hào)可以改變邏輯關(guān)系之間的優(yōu)先關(guān)系;另外我們還使用“包含”,“=”等6種比較符,只要進(jìn)行合理的條件組合就能查出符合條件的記錄。

      2.實(shí)現(xiàn)過(guò)程

      (1)輸入查詢(xún)條件。查詢(xún)條件包括查詢(xún)字段、比較符和字段內(nèi)容。

      (2)生成條件。當(dāng)用戶(hù)輸入完查詢(xún)條件時(shí)點(diǎn)擊按鈕使查詢(xún)條件顯示在查詢(xún)條件顯示欄中,同時(shí)查詢(xún)條件也寫(xiě)入用于查詢(xún)的字符串中。

      (3)顯示查詢(xún)條件。在一個(gè)列表顯示框中直接顯示用戶(hù)輸入的復(fù)合查詢(xún)條件。使用列表框的好處是如果查詢(xún)條件已滿(mǎn),則激活右邊的滾動(dòng)塊顯示更多的查詢(xún)條件。

      (4)加入條件關(guān)系。用戶(hù)如果想執(zhí)行多條件查詢(xún),條件之間可以用“與”“或”“非”等邏輯關(guān)系連接,還可以使用括號(hào)將條件進(jìn)行組合。

      (5)查詢(xún)操作。激活顯示結(jié)果窗口時(shí),執(zhí)行生成的SQL語(yǔ)句,將結(jié)果置于DBgrid數(shù)據(jù)庫(kù)表格中。

      二、案例實(shí)現(xiàn)

      1.查詢(xún)窗口設(shè)計(jì)

      為了實(shí)現(xiàn)交互操作的靈活方便,定義frm_sql和frm_exe 窗口對(duì)象,分別用于生成動(dòng)態(tài)SQL 查詢(xún)語(yǔ)句,窗口界面設(shè)計(jì)如下圖。顯示查詢(xún)執(zhí)行結(jié)果的窗體主要由一個(gè)DBgrid_sql數(shù)據(jù)庫(kù)表格組成,這里從略。

      圖中主要控件及說(shuō)明如下:

      Cmb_yh為下拉列表框,功能為實(shí)現(xiàn)多條件間的“與”或“或”;Edt_va文本框功能為輸入查詢(xún)條件值;Btn_tj_add按鈕功能為添加查詢(xún)條件;Che_Lst_sql復(fù)選列表框功能為設(shè)置查詢(xún)、顯示字段; Btn_od_ad按鈕功能為添加排序依據(jù);Btn_display按鈕功能為執(zhí)行動(dòng)態(tài)生成的SQL 查詢(xún)語(yǔ)句,并激活顯示查詢(xún)結(jié)果窗口。

      2.具體實(shí)現(xiàn)過(guò)程

      程序的算法主要是變量tj、lb、px、sql是由窗體輸入的值產(chǎn)生的。變量說(shuō)明如下:

      tj用來(lái)存儲(chǔ)動(dòng)態(tài)生成的查詢(xún)條件;lb用來(lái)存儲(chǔ)查詢(xún)字段列表;px用來(lái)存儲(chǔ)生成的查詢(xún)結(jié)果排序依據(jù)子句;sql用來(lái)存儲(chǔ)SQL 查詢(xún)語(yǔ)句字符串,即“select”+lb+tj+px,如圖所示則sql為:“select dw, ks (此處多個(gè)字段略) where (zc=‘講師’) and (xl=’本科’)and (dw like ‘%機(jī)電%’) order by csrq”。

      在Btn_display顯示按鈕中激活顯示結(jié)果窗口,執(zhí)行生成的SQL 語(yǔ)句,并將結(jié)果記錄集置于DBgrid_sql數(shù)據(jù)庫(kù)表格控件中。

      三、結(jié)束語(yǔ)

      本程序通過(guò)簡(jiǎn)單的窗口界面點(diǎn)擊,生成多條件自由組合、顯示字段及順序任意定義的、動(dòng)態(tài)SQL查詢(xún)語(yǔ)句,從而實(shí)現(xiàn)動(dòng)態(tài)查詢(xún),極大地簡(jiǎn)化了查詢(xún)操作、提高了查詢(xún)的靈活性,使用戶(hù)把注意力更多集中在查詢(xún)條件的設(shè)計(jì)上。用戶(hù)也可根據(jù)需求,方便地將本程序思想移植到其他語(yǔ)言或其他的查詢(xún)應(yīng)用系統(tǒng)中。

      參考文獻(xiàn):

      [1]魏永山:數(shù)據(jù)庫(kù)關(guān)聯(lián)查詢(xún)界面的設(shè)計(jì)與實(shí)現(xiàn).山東科技大學(xué)學(xué)報(bào)(自然科學(xué)版), 第21卷第3期:34~36

      [2]穆彤娜 于洪敏 張鐵成:數(shù)據(jù)庫(kù)系統(tǒng)綜合查詢(xún)方法研究.中國(guó)礦業(yè)大學(xué)學(xué)報(bào),第35卷第2期:260~264

      锦州市| 双城市| 墨竹工卡县| 乐东| 斗六市| 驻马店市| 保亭| 泌阳县| 皋兰县| 河津市| 蒙阴县| 商丘市| 怀化市| 万宁市| 蕉岭县| 揭西县| 资兴市| 松滋市| 绍兴县| 临沭县| 健康| 广宗县| 沁水县| 敦化市| 衡山县| 宜丰县| 丰顺县| 古交市| 龙山县| 高阳县| 泰州市| 简阳市| 睢宁县| 周口市| 西盟| 灌云县| 永福县| 孟村| 浏阳市| 中江县| 化州市|