亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP項目中的通用條件查詢模塊

2019-11-18 20:18:18
字體:
來源:轉載
供稿:網友
一、提出問題:
    在大型的asp項目中,都涉及到了條件查詢這一功能。用戶要求能夠針對特定的字段進行查詢。對于有些數據,是從多個表取出來的,因此也要能對多個表進行查詢。
    一般的話,大多數的做法就是每個程序都做一個查詢功能,因為每個查詢的表都不同,涉及的字段也不同。但是,如果在大型的ASP項目中這么做的話,不僅增加了工作量、影響開發進度,而且不能使系統模塊化、代碼復用,增加了系統維護難度。因此,我們有必要使條件查詢模塊化。

二、解決思路:
    我們設計條件查詢的功能為:
    1、選擇查詢字段(字段);
    2、選擇查詢條件(<、>、=、<=、>=、<>、Null、Not Null、Like );
    3、輸入條件值;
    4、選擇運算關系(Or、And);
    5、將查詢條件添加到列表框、或從列表框刪除。
    詳細界面請看下圖:


       我們以新聞表(dbNews)為例,假定新聞表包含有標題、時間、內容、發布人。
       在查詢數據庫時,我們一般都是用如:
      “Select * from News Where time='2002-05-22' and User='Tom'”,我們如果能在條件查詢中返回“time='2002-05-22' and User='Tom'”的條件字符串,問題就解決了。但如果是不同的程序、不同的表怎么做呢?這就是看用什么方法來定義查詢的字段了。   
       在這里,我們把查詢字段作為一個過程寫在程序中,在查詢模塊中調用,這樣,查詢的字段就是動態的生成了。
       用戶選擇好了一個查詢字段,以及匹配條件,將它添加到<select></select>框中,用戶可以繼續選擇另外的查詢條件,然后又把它添加到<select>中,完成了,就點查詢按鈕。用查詢模塊生成如:“time='2002-05-22' and User='Tom'”的語句,這樣在程序中就可以調用了。

三、解決方案:
    ASP通用條件查詢模塊的源代碼請參看 (四、源代碼)。
    1、定義過程
    在調用條件查詢模塊前,首先要在程序中定義一個SearchField()過程:
Sub SearchField()
    Response.Write "<option Value='1Title'>標題</option>"
    Response.Write "<option Value='1Time'>時間</option>"
    Response.Write "<option Value='1Content'>內容</option>"
    Response.Write "<option Value='1User'>發布人</option>"
End Sub
  其中,Value中為字段名稱,如果字段為字符型,就在字段名前加1,數字型就加2。如:"1Title"。
       注意:如果數據是從多個表中取出來的,如:select * from News,User ;那么Value的值就要加上相應的表,如:1News.Title。這樣就可以從多個表查詢數據。

  2、調用條件查詢模塊:
  <!--#include file="../Public/Condition_Search.asp"-->
       
       3、加入按鈕事件:
       加入“條件查詢”按鈕,并添加  onClick="search_dis(s1)"事件:
       <Input type="Button" name=ConSearch onClick="search_dis(s1)">

       默認狀態下,條件查詢模塊隱藏在頁面中,當點“條件查詢”按鈕,就顯示出來,這樣頁面即美觀,也不會妨礙用戶瀏覽。

    這樣,我們就完成了“條件查詢”模塊的調用
    當選擇好了查詢條件,執行查詢后,程序getSql文本框將返回查詢條件,如:“title='Chian' and user='tom'”,用request.form("getSql")取得!在把它加入到SQL語句中,一個新的查詢就生成了。

四、ASP通用條件查詢模塊的源代碼
    
<Script LANGUAGE=javaScript>
<!--
//隱藏或顯示條件查詢模塊
function search_dis(ob){  
if (ob.style.display=="none")
    {ob.style.display="";window.location.href ('#down');}
else
    {ob.style.display="none";}
}

//把條件查詢語句添加到<select>查詢列表框;
function AddSe(){       
  var val,val_tmp,Sql,oAdd,TextType;
  var Field,Condition,TextVal,Relation;
  Field=frm_Search.Field.options[frm_Search.Field.selectedIndex].text;
  TextVal="'"+frm_Search.TextVal.value+"'" ;
  Condition=frm_Search.Condition.options[frm_Search.Condition.selectedIndex].text;
  Relation=frm_Search.Relation.options[frm_Search.Relation.selectedIndex].text;
  val_tmp = frm_Search.Field.value;
  val_tmp = val_tmp.substring(0,1);
  //判斷字段的數據類型,如果為1,就是字符、日期型;為2,就是數值型;
  if (val_tmp==1)
     {TextType="'"+frm_Search.TextVal.value+"' " ;}
  else
     {TextType=""+frm_Search.TextVal.value+" " ;}
  val_Field = frm_Search.Field.value;
  val_Field = val_Field.substr(1);
  val= val_Field + frm_Search.Condition.value + TextType + frm_Search.Relation.value ;
  Sql = Field+Condition+TextVal+Relation;
  oAdd=document.createElement("option")
  oAdd.value=val;
  oAdd.text=Sql;
  frm_Search.seSql.add(oAdd);
}

//把條件查詢語句從<select>查詢列表框中刪除;
function moveSe(){    
  for (i=1;i<frm_Search.seSql.options.length;i++){
     if(frm_Search.seSql.options[i].selected){
       frm_Search.seSql.remove(frm_Search.seSql.selectedIndex);
     }
  }
}

//取得查詢條件,并提交;
function getVal(){    
var gettxt,Setable;
gettxt = "";
var path = window.location.pathname ;  //取得頁面鏈接和文件名
var line = path.lastIndexOf("/");  //取得最后一個'/'的位置
var dot = path.indexOf(".");        //取得第一個'.'的位置
var Name = path.substring(line+1,dot);   //取得文件名
var fileName = Name + ".asp";
for (i=1;i<frm_Search.seSql.options.length;i++){
gettxt = gettxt+ " " + frm_Search.seSql.options[i].value  ;}
var valLeng=gettxt.lastIndexOf(" ");
gettxt=gettxt.substr(0,valLeng);      //去掉條件子句的最后一個關系運算符
Setable = frm_Search.Setable.value ;
//window.open (fileName+'?gettxt='+gettxt,'_self');   //向當前頁面傳送查詢條件子句
frm_Search.getSql.value = gettxt;
frm_Search.action = fileName;
frm_Search.submit ();
}
//-->
</Script>
<a Name="down"></a>   
<Form Name="frm_Search" method="post" action="">
<input type="hidden" Name=getSql Value="">
<table bgcolor=#6699CC width=100%>
<tr><td>
        <table width="617" border="0" cellspacing="1" cellpAdding="2" bgcolor="#CCCCCC"

align="center">
          <tbody id=s1 style=display:none>
          <tr>
            <td width="134" height="25" bgcolor="#006699">
              <div align="right"><font color="#FFFFFF" style="font-size:10pt">查詢字段:

</font></div>
            </td>
            <td width="159" bgcolor="#F2F2F2">
              <select Name="Field" style="font-size:12px"><%Call SearchField()%></select>
            </td>
            <td width="102" bgcolor="#E1E1E1">
              <div align="center">
                <input type="button" Name="AddSql" Value="添加&gt;&gt;&gt;" onClick="AddSe()"

style="BACKGROUND: #ffdead;BORDER-BOTTOM: #665b8e 1px solid;BORDER-LEFT: #ffffff 1px

solid;BORDER-RIGHT: #665b8e 1px solid;BORDER-TOP: #ffffff 1px solid;COLOR: #333333;CURSOR:

hand;FONT-SIZE: 12px;HEIGHT: 20px;PAddING-BOTTOM: 1px;PAddING-LEFT: 1px;PAddING-RIGHT:

1px;PAddING-TOP: 1px">
              </div>
            </td>
            <td rowspan="4" bgcolor="#F2F2F2" width="221">
              <select id="seSql" size="6">
                <option Value="">------------查詢條件-----------</option>
              </select>
            </td>
          </tr>
          <tr>
            <td width="134" height="25" bgcolor="#006699">
              <div align="right"><font color="#FFFFFF" style="font-size:10pt">查詢條件:

</font></div>
            </td>
            <td width="159" bgcolor="#F2F2F2">
              <select Name="Condition" style="font-size:12px">
                <option Value="=">等 于</option>
                <option Value="&gt;">大 于</option>
                <option Value="&gt;=">大于等于</option>
                <option Value="&lt;">小 于</option>
                <option Value="&lt;=">小于等于</option>
                <option Value="&lt;&gt;">不等于</option>
                <option Value=" NULL ">為空</option>
                <option Value=" NOT NULL ">不為空</option>
                <option Value=" LIKE ">匹配</option>
              </select>
            </td>
            <td width="102" bgcolor="#E1E1E1">
              <div align="center">
                <input type="button" Name="delSql" Value="&lt;&lt;&lt;刪除" onClick="moveSe()"

style="BACKGROUND: #ffdead;BORDER-BOTTOM: #665b8e 1px solid;BORDER-LEFT: #ffffff 1px

solid;BORDER-RIGHT: #665b8e 1px solid;BORDER-TOP: #ffffff 1px solid;COLOR: #333333;CURSOR:

hand;FONT-SIZE: 12px;HEIGHT: 20px;PAddING-BOTTOM: 1px;PAddING-LEFT: 1px;PAddING-RIGHT:

1px;PAddING-TOP: 1px">
              </div>
            </td>
          </tr>
          <tr>
            <td width="134" height="25" bgcolor="#006699">
              <div align="right"><font color="#FFFFFF" style="font-size:10pt">條 件 值:

</font></div>
            </td>
            <td width="159" bgcolor="#F2F2F2">
              <input type="text" id="TextVal" size="15" style="BACKGROUND-COLOR: white; BORDER-

BOTTOM: #000000 1px solid;BORDER-LEFT: #000000 1px solid;BORDER-RIGHT: #000000 1px solid;BORDER-

TOP: #000000 1px solid;FONT-SIZE: 9pt">
            </td>
            <td width="102" bgcolor="#E1E1E1">&nbsp;</td>
          </tr>
          <tr>
            <td width="134" height="25" bgcolor="#006699">
              <div align="right"><font color="#FFFFFF" style="font-size:10pt">關系運算符:

</font></div>
            </td>
            <td width="159" bgcolor="#F2F2F2">
              <select Name="Relation" style="font-size:12px">
                <option Value="and">并且</option>
                <option Value="or">或者</option>
              </select>
            </td>
            <td width="102" bgcolor="#E1E1E1">
              <div align="center">
                <input type="button" Name="search_ok" Value="查   詢" onClick="getVal()"

style="BACKGROUND: #deb887;BORDER-BOTTOM: #665b8e 1px solid;BORDER-LEFT: #ffffff 1px

solid;BORDER-RIGHT: #665b8e 1px solid;BORDER-TOP: #ffffff 1px solid;COLOR: #333333;CURSOR:

hand;FONT-SIZE: 12px;HEIGHT: 20px;PAddING-BOTTOM: 1px;PAddING-LEFT: 1px;PAddING-RIGHT:

1px;PAddING-TOP: 1px">
              </div>
            </td>
          </tr>
          </tbody>
        </table>
  </td></tr>
</table>
</Form>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产有码在线一区二区视频| 欧美午夜影院在线视频| 国产丝袜一区二区三区免费视频| 欧美在线www| 欧美孕妇孕交黑巨大网站| 亚洲电影免费观看高清完整版在线观看| 7777精品视频| 色综合天天狠天天透天天伊人| 国产精品夫妻激情| 国产精品网站视频| 亚洲成人网久久久| 国产精品扒开腿爽爽爽视频| 国产精品一区久久| 久久精品色欧美aⅴ一区二区| 午夜伦理精品一区| 亚洲综合大片69999| 日本成人激情视频| 欧美精品videofree1080p| 亚洲成人av片在线观看| 欧美成人一区二区三区电影| 国产美女精品免费电影| 亚洲精品一区中文| 亚洲高清一二三区| 精品国产欧美一区二区五十路| 538国产精品一区二区免费视频| 欧美区在线播放| 国产精品麻豆va在线播放| 日本19禁啪啪免费观看www| 亚洲毛茸茸少妇高潮呻吟| 成人网中文字幕| 国产剧情久久久久久| 中文字幕欧美视频在线| 97av在线影院| 久久福利网址导航| 欧美日韩在线视频一区二区| 国产区亚洲区欧美区| 国产精品成人播放| 亚洲日本欧美中文幕| 国产精品日韩在线一区| 国产午夜精品理论片a级探花| 久久精品这里热有精品| 亚洲韩国日本中文字幕| 国产精品丝袜一区二区三区| 国产不卡一区二区在线播放| 国产69久久精品成人| 色悠悠久久88| 亚洲福利视频网站| 国产精品久久久久9999| 久久久国产一区二区三区| 亚洲第一精品夜夜躁人人躁| 欧美亚洲另类制服自拍| 亚洲一区二区三区毛片| 精品国产依人香蕉在线精品| 亚洲在线观看视频| 青青久久av北条麻妃海外网| 午夜精品一区二区三区视频免费看| 97在线看免费观看视频在线观看| www.久久久久久.com| 精品久久久国产精品999| 欧美成年人在线观看| 久久频这里精品99香蕉| 久久亚洲精品视频| 久久精品久久久久电影| 青青草国产精品一区二区| 在线观看不卡av| 色偷偷偷综合中文字幕;dd| 久久精品国产亚洲一区二区| 91国产美女视频| 精品视频www| 亚洲精品视频网上网址在线观看| 国产剧情久久久久久| 国产主播在线一区| 日韩中文字幕久久| 国产精品男女猛烈高潮激情| 日韩中文字幕在线视频播放| 91精品久久久久久久久青青| 亚洲伊人成综合成人网| 中文字幕久久精品| 国产精品成人观看视频国产奇米| 欧美人在线视频| 精品视频在线播放色网色视频| 91久久国产综合久久91精品网站| 亚洲xxxx做受欧美| 91精品啪在线观看麻豆免费| 亚洲美女av电影| 亚洲欧美制服丝袜| 久久久国产精品视频| 视频一区视频二区国产精品| 精品国产一区二区三区四区在线观看| 黑人巨大精品欧美一区二区一视频| 久久久精品国产网站| 一色桃子一区二区| 影音先锋欧美在线资源| 日本道色综合久久影院| 欧美日韩精品二区| 国产精品麻豆va在线播放| 久久精品国产欧美亚洲人人爽| 欧美成人小视频| 精品久久久国产| 国产日韩中文字幕在线| 国产视频亚洲视频| 高清欧美电影在线| 精品日韩中文字幕| 久久久国产精彩视频美女艺术照福利| 91高潮精品免费porn| 亚洲乱码一区av黑人高潮| 国产日韩精品综合网站| 亚洲色图av在线| 亚洲欧美激情视频| 91精品国产99| 日韩精品在线观看一区二区| 福利二区91精品bt7086| 欧美电影在线观看完整版| 自拍偷拍亚洲欧美| 亚洲性av在线| 欧美性受xxxx白人性爽| 亚洲日本欧美日韩高观看| 精品久久久久久久久久ntr影视| 国产精品久久久久秋霞鲁丝| 亚洲国产精久久久久久久| 国产精品久久久久久久电影| 欧美久久精品午夜青青大伊人| 亚洲精品美女免费| 国产成人精品综合久久久| 欧美丰满老妇厨房牲生活| 91精品视频专区| 国内揄拍国内精品少妇国语| 日韩视频免费观看| 欧美日韩国产精品一区二区三区四区| 国产一区二区三区在线观看视频| 国产啪精品视频网站| 亚洲自拍av在线| 欧美老肥婆性猛交视频| 欧美一区二三区| 亚洲aⅴ男人的天堂在线观看| 97超碰国产精品女人人人爽| 国产成人亚洲精品| 久久久免费高清电视剧观看| 国语自产精品视频在线看| 亚洲国产欧美在线成人app| 国产综合色香蕉精品| 另类专区欧美制服同性| 91在线观看免费| 日韩在线一区二区三区免费视频| 38少妇精品导航| 欧美日韩黄色大片| 色综合久久精品亚洲国产| 中文字幕v亚洲ⅴv天堂| 国内成人精品视频| 韩国视频理论视频久久| 国产精品成人va在线观看| 亚洲欧洲国产精品| 亚洲精品国产电影| 亚洲偷熟乱区亚洲香蕉av| 欧美老少做受xxxx高潮| 日本精品视频网站| 欧美在线视频免费| 欧美精品在线极品| 久久久成人的性感天堂| 国产精品午夜一区二区欲梦| 国产精品啪视频| 成人字幕网zmw| 国产精品免费小视频| 成人xxxx视频|