通用資料庫顯示程式,能調任意庫,任意欄位,多關鍵字搜尋,自動分頁通用

來源:互聯網
上載者:User
程式|分頁|關鍵字|資料|資料庫|顯示 資料庫顯示程式,能調任意庫,任意欄位,多關鍵字搜尋,自動分頁.


阿餘經常寫一些資料庫相關的程式,當然離不開顯示庫中的資料了,說實話,做這樣的程式真是無聊啊,所以,阿餘就想寫個函數,一個通用的資料庫顯示函數.要求如下:  

1. 能顯示指定的欄位,當然,欄位名和顯示的文字可以不一樣.  
2. 能同時按多個欄位進行查詢,支援模糊和精確兩種查詢方式.  
3. 有橫向排列和縱向排欄欄位兩種顯示方式.  
4. 能自動分頁.  
5. 能設定每頁顯示多少條記錄.好啦,要求大至就是這樣了.根據這個要求,阿餘寫了下面的函數.  
實際上,這裡阿餘寫了兩個函數.一個是TABDISP(),用於顯示一個指定表中的內容.還有一個是ER()一個小小的錯誤處理函數.  
這個函數有5個參數(真夠多的).並且各個參數都要輸入資料,不能是空白,不然會出錯的.  
1(TAB), 要調用的表名.  
2(DISPFILD), 要顯示表中的哪一些欄位,如欄位名和要顯示的字元不一樣用<分隔.比如某一個欄位名為:IMG,但要在頁面上顯示為:圖片, 那麼,就寫為IMG<圖片,如果有多個欄位,各欄位間用“,”分隔,唉,老聲長談.
3(FINDFILD), 要按哪些欄位進行查詢,欄位名和要顯示的字元間用<分隔.
4(PAGEN), 每頁顯示多少條記錄.
5(FH), 顯示的方向.當為S時縱向顯示.為H時橫向顯示.
函數的傳回值,當沒有出錯的時候,傳回值為真,否則為假.
這個函數中沒有包括串連到資料庫的部分.所以要自己串連到庫.另外,為了重複應用.可以把這個函數專門用一個檔案來儲存,然後在需要的時候包含這個檔案.
看下面的函數: (不要不看完,最後我舉有應用的例子)

<%
'以下定義一個顯示表格的函數TABDISP(),參數TAB,被顯示的表名,DISPFILD,要顯示的欄位,FINDFILD,查詢欄位,PAGEN,每頁顯示數量,fh,顯示的方向
'如顯示成功,傳回值為真,不成功,傳回值為假.
'多個欄位間用,分隔
'查詢欄位一定要包含在顯示欄位中.
'如欄位名與要顯示的名稱不一樣,用<分隔,前面是欄位名,後面是顯示的名字,而要進行搜尋的欄位則一定要用<分隔要欄位名和顯示字元
'FH顯示方向為"H"時作橫向顯示,為"S"時作縱向顯示 區分大小寫
FUNCTION TABDISP(TAB,DISPFILD,FINDFILD,PAGEN,FH)
On Error Resume Next
IF DISPFILD="" THEN DISPFILD="*"
IF PAGEN="" THEN PAGEN=15
DISPFILD1=DISPFILD&","
findfild1=findfild&","

dim findl(10),findr(10)
i1=1
do while instr(findfild1,",")<>0  
    star=instr(findfild1,",")  
    findl(i1)=left(findfild1,star-1)  
    findr(i1)=findl(i1)  
    fildbak=findl(i1)  
    findl(i1)=left(fildbak,instr(fildbak,"<")-1)
findr(i1)=right(fildbak,len(fildbak)-instr(fildbak,"<"))
findfild1=right(findfild1,len(findfild1)-star)
i1=i1+1
loop

Response.Write "<table border='0' width='100%' cellspacing='0'><tr><form method='GET'>"  
  Response.Write "<TD > "  'width='50%'  
  IF SESSION("FLMENULBUP")<>"" THEN  
    Response.Write "當前欄目:<A HREF='FLMEN.ASP?MENULB="&SESSION("FLMENULBUP")&"'>"&MID(SESSION("FLMENULBUP"),4,200)&""  
  END IF  
  IF SESSION("flmenulb")<> SESSION("FLMENULBUP")  THEN  
    Response.Write " >> <A HREF='FLMEN.ASP?menulb="&SESSION("FLMENULBUP")&"&LB="&SESSION("flmenulb")&"'>"&MID(SESSION("flmenulb"),4,200)&""  
  END IF  
  Response.Write "</TD><td align='right' ></td><td align='right'><table border='0' cellspacing='0' cellpadding='0'> "  
  Response.Write "<tr><td rowspan='2'><img src='http://www.163design.net/a/s/img/SEARCH.GIF' width='50'>   </td>"  
  for i3=1 to i1-1  
     Response.Write "<td>"&findr(i3)&":</td>"  
  next  
  Response.Write  "</tr><tr>"  '<td></td>  
  for i2=1 to i1-1  
     Response.Write "<td><input type='text' name='key_word"&i2&"' size='8' value=''></td>"  
  next  

  Response.Write "<tr></table></td><td width='20%'> <input type='checkbox' name='find_fr' value='yes'>精確 <input type='submit' value='開始' name='B_FIND'></td>"  
  Response.Write "</form> </tr></table>"  
  find_fr=request("find_fr")  
  TJ=""  
  urllr="&find_fr="&find_fr  
  findlrdisp=""  
  FOR I3=1 TO I1-1  
     TJ1=request("KEY_WORD"&I3)  
     urllr=urllr&"&key_word"&i3&"="&tj1 &



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。