版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 通用網(wǎng)頁查詢函數(shù)的設(shè)計(jì)與應(yīng)用</p><p> 摘要:本文首先介紹了通用網(wǎng)頁查詢函數(shù)的設(shè)計(jì)思想,并給出了全部源代碼及其應(yīng)用。</p><p> 關(guān)鍵詞:數(shù)據(jù)庫 WWW Internet ASP 計(jì)算機(jī)網(wǎng)絡(luò)</p><p> 1. 引言</p><p> 隨著人們對(duì)信息化潮流的逐漸認(rèn)識(shí),各種信息在
2、Internet上的發(fā)布和檢索就變得非常的重要。特別是使用B/S模式的信息發(fā)布和檢索,由于它的簡單性、靈活性,越來越得到了廣泛的應(yīng)用?,F(xiàn)在,經(jīng)常被人們采用的B/S模式的開發(fā)工具有ASP、PHP、JSP等,這些開發(fā)工具簡單易學(xué)、功能強(qiáng)大,為各種信息在Internet上的發(fā)布和檢索提供了強(qiáng)有力的幫助。但是,隨著信息量的逐漸爆炸,如果仍然采用針對(duì)特定發(fā)布信息設(shè)計(jì)專用程序的傳統(tǒng)辦法的話,顯然將導(dǎo)致信息發(fā)布的效率非常地低。</p>
3、<p> 為此,筆者研究了一種通用信息發(fā)布與檢索的技術(shù)方案,使用這套方案,將極大地減輕開發(fā)者的工作量,節(jié)約成本。本文介紹的便是這套技術(shù)方案中的一個(gè)非常重要的組成部分——基于ASP的通用網(wǎng)頁查詢函數(shù)的設(shè)計(jì)與應(yīng)用。</p><p> 2. 通用網(wǎng)頁查詢函數(shù)的設(shè)計(jì)</p><p> 通用網(wǎng)頁查詢函數(shù)的功能主要是:根據(jù)調(diào)用者提供的各種參數(shù),在后臺(tái)數(shù)據(jù)庫管理系統(tǒng)中進(jìn)行檢索,
4、最后將檢索結(jié)果以二維數(shù)組的形式返回給調(diào)用者。</p><p> 為了實(shí)現(xiàn)上述功能,實(shí)現(xiàn)該函數(shù)的主要思想是:根據(jù)調(diào)用者提供的各種參數(shù),生成對(duì)應(yīng)的SQL語句,接下來與后臺(tái)數(shù)據(jù)庫管理系統(tǒng)建立連接、提取數(shù)據(jù)、斷開連接,最后將檢索結(jié)果以二維數(shù)組的形式返回給調(diào)用者。</p><p> 該函數(shù)的輸入?yún)?shù)有:后臺(tái)數(shù)據(jù)庫管理系統(tǒng)的代號(hào)(如0代表SQLServer、1代表VFP等)、數(shù)據(jù)源名、表名(可以是
5、單表,也可以是多表連接)或視圖名、all/distinct關(guān)鍵字、top關(guān)鍵字、字段名數(shù)組、where條件、group by子句/order by字句、檢索結(jié)果存放的二維數(shù)組名等。</p><p> 該函數(shù)的返回值為邏輯型,True代表查詢過程中未出現(xiàn)錯(cuò)誤,否則,若為False說明查詢過程中出現(xiàn)了錯(cuò)誤。</p><p> 下面給出經(jīng)調(diào)試過的通用網(wǎng)頁查詢函數(shù)的源代碼。</p>
6、<p> function data_getting(param_database_code,param_dsn_name,param_table_name,</p><p> param_all,param_top,param_field_names(),ByRef data(),param_condition,</p><p> param_other,ByRef
7、rcount,ByRef fcount,ByRef fieldsname()) </p><p> on error resume next</p><p><b> '生成查詢語句</b></p><p> if param_all=true then </p><p> query
8、="select "</p><p><b> else</b></p><p> query="select distinct "</p><p><b> end if</b></p><p> query=query+param_top+&quo
9、t; "</p><p> if param_field_names(0)="*" then '查詢?nèi)孔侄?lt;/p><p> query=query+" * "</p><p><b> else</b></p><p><b> d_g_
10、i=0</b></p><p><b> fcount=0 </b></p><p> for each item in param_field_names</p><p> if param_field_names(d_g_i)<>"" then</p><
11、p> query=query+param_field_names(d_g_i)+","</p><p> fcount=fcount+1 '記錄集列數(shù)</p><p><b> end if</b></p><p> d_g_i=d_g_i+1</p><p&g
12、t;<b> next</b></p><p><b> end if</b></p><p> query=left(query,len(query)-1)+" from "+param_table_name '去掉最后一個(gè)逗號(hào)(全部字段:去掉空格)</p><p> if len
13、(param_condition)>0 then</p><p> query=query+" where "+param_condition</p><p><b> end if</b></p><p> if len(param_other)>0 then</p><
14、;p> query=query+" "+param_other</p><p><b> end if</b></p><p><b> '打開記錄集</b></p><p> set conntemp=server.createobject("ADODB.Connect
15、ion") </p><p> conntemp.ConnectionString=param_dsn_name </p><p> conntemp.Open </p><p> conntemp.errors.clear </p><p> Set rstemp=Se
16、rver.CreateObject("ADODB.Recordset") </p><p> rstemp.ActiveConnection=conntemp </p><p> if param_database_code=0 then ‘代表后臺(tái)數(shù)據(jù)庫是SQLSERVER</p><p> rstemp.Cursor
17、Type=3</p><p> rstemp.LockType=1</p><p> else if param_database_code=1 then ‘代表后臺(tái)數(shù)據(jù)庫是VFP</p><p> rstemp.CursorType=1</p><p> rstemp.LockType=1</p><p>
18、;<b> else</b></p><p> … ‘代表后臺(tái)數(shù)據(jù)庫是其它數(shù)據(jù)庫管理系統(tǒng)(代碼略)</p><p><b> end if </b></p><p> rstemp.Source=query </p><p> rs
19、temp.open </p><p> ‘判斷查詢過程中是否出現(xiàn)錯(cuò)誤</p><p> if conntemp.errors.count>0 then </p><p> data_getting=false</p><p> rcount=0 </p><p><b
20、> else</b></p><p> ‘如果查詢過程中未出現(xiàn)錯(cuò)誤,將查詢結(jié)果存放到指定的二維數(shù)組中</p><p> rcount=rstemp.recordcount '記錄集行數(shù) </p><p> if rcount=0 then</p><p> data_getting=true&
21、lt;/p><p><b> else</b></p><p> data_getting=true</p><p> if param_field_names(0)="*" then '查詢?nèi)孔侄?lt;/p><p> fcount=rstemp.fields.count</p&
22、gt;<p><b> end if</b></p><p> ReDim data(rcount-1,fcount-1),fieldsname(fcount-1)</p><p> for d_g_i=1 to rcount</p><p> for d_g_j=1 to fcount</p><p&
23、gt; data(d_g_i-1,d_g_j-1)=trim(rstemp.fields(d_g_j-1).value)</p><p> if d_g_i=1 then</p><p> fieldsname(d_g_j-1)=rstemp.fields(d_g_j-1).name</p><p><b> end if </b>
24、</p><p><b> next</b></p><p> rstemp.movenext</p><p><b> next</b></p><p><b> end if</b></p><p> end if <
25、/p><p> rstemp.close </p><p> set rstemp=nothing </p><p> conntemp.close </p><p> set conntemp=nothing </p><p> end function</p>
26、<p> 3. 通用網(wǎng)頁查詢函數(shù)的應(yīng)用</p><p> 在筆者參與的各類基于Web的數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程中,全部使用了前文給出的通用網(wǎng)頁查詢函數(shù)。利用<!-- #include file="data_getting.inc" -->語句(通用網(wǎng)頁查詢函數(shù)被保存為一個(gè)獨(dú)立的文件data_getting.inc),在需要進(jìn)行數(shù)據(jù)查詢的網(wǎng)頁中
27、,嵌入該函數(shù),然后在ASP頁面只需調(diào)用該函數(shù),就能得到希望得到的查詢結(jié)果,從而大大減輕了編程的工作量,并便于ASP頁面的簡化和美化。</p><p> 4. 結(jié)束語</p><p> 本文給出的通用網(wǎng)頁查詢函數(shù),以及筆者開發(fā)的其它的一些通用函數(shù)(用于執(zhí)行一系列SQL命令的函數(shù)、用于調(diào)用數(shù)據(jù)庫端存儲(chǔ)過程的函數(shù)等),大大減輕了在系統(tǒng)開發(fā)過程中的工作量,基本實(shí)現(xiàn)了代碼復(fù)用的目的,希
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 通用查詢組件的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 通用sparql查詢引擎設(shè)計(jì)
- 基于網(wǎng)頁查詢結(jié)果的廣告查詢擴(kuò)展研究.pdf
- 畢業(yè)設(shè)計(jì)--網(wǎng)頁設(shè)計(jì)的建設(shè)與應(yīng)用
- 基于Jsoup的通用網(wǎng)頁采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 通用SPARQL查詢引擎設(shè)計(jì).pdf
- 網(wǎng)頁分類及存儲(chǔ)查詢系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn).pdf
- 基于MVC與AJAX的通用查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 通用查詢及其在通訊行業(yè)中的應(yīng)用.pdf
- 基于JSP的稅收征管通用查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 網(wǎng)頁設(shè)計(jì)與應(yīng)用畢業(yè)論文
- 聚類方法在通用查詢平臺(tái)中的應(yīng)用.pdf
- 網(wǎng)頁設(shè)計(jì)與應(yīng)用畢業(yè)論文
- 網(wǎng)頁設(shè)計(jì)與應(yīng)用畢業(yè)論文
- 網(wǎng)頁設(shè)計(jì)與應(yīng)用畢業(yè)論文
- 系統(tǒng)函數(shù)和聯(lián)接查詢
- 通用函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與制作【文獻(xiàn)綜述】
- 網(wǎng)頁視覺基礎(chǔ)設(shè)計(jì)與應(yīng)用研究.pdf
- 通用函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與制作【開題報(bào)告】
- 國畫水墨元素在網(wǎng)頁設(shè)計(jì)中的應(yīng)用與研究
評(píng)論
0/150
提交評(píng)論