ASP网页编程之用ASP做全文检索
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。 摘要:经由过程文句查找相干的全文是阅读器端经常使用的办法,ASP相似于CGI,也能够停止复杂的文本体例全文检索关头词:ASP检索Intranet网页ADO数据源
在Internet/Intranet上对某类信息做具体阅读和全文检索也是常碰着的情形。ASP是微软公司开辟的用于制造静态Web页的一种办事器端
剧本型式(或谓编写情况)。它利用VBScript或JavaScript等简略单纯的剧本言语,集成在HTML码中,在办事器端呼应阅读器端恳求而履行数据访
问和进程(或对象)挪用并发生阅读器端履行的剧本言语。本文引见用ASP编写全文检索代码的办法。
办法引见:
肯定被检索的文件。将它们保留在统一文件夹中。文件的类型可所以任何文本类型(包含.htm网页文件类型)
创立被检索文件的信息库。个中次要包括文件名,文件题目等。
用ADO体例会见数据库。创立纪录集对象。
逐一翻开纪录集中以后纪录所指向的文件。用查找的字串对文件的全文本停止婚配对照。
将合适前提的文件题目输入到客户端Web页,并到场指向该文件的超链,以供用户选择阅读。
手艺要点:
数据源。要在创立剧本之前,使用Windows95掌握面板中的ODBC指定要会见的数据库及其驱动法式,以数据源名(DSN)标识之。
婚配字串的长度。因为阅读器真个数据经由编码传到办事器端,ASP经由过程其内建对象Request获得的数据也并不是完整是用户输出的有效信息
,所以要加以处置。可以在输出字串后附加一标记字符(如#或chr(7))。本文则接纳另外一种办法,即盘算无效信息的长度。从而截取所需的
字串。
创立剧本的文件体系对象Scripting.FileSystemObject,从而翻开文本流以读入。
特色:
直接对.htm文件停止全文检索,省却很多转换进程。.htm文件又用于网页的显示,一箭双雕。
使用ASP,复杂了然,易于完成。
本例ASP代码:
〈%@LANGUAGE="VBSCRIPT"%〉
〈html〉
〈head〉
〈metaNAME="GENERATOR"Content="MicrosoftFrontPage3.0"〉
〈metaHTTP-EQUIV="Content-Type"content="text/html;charset=gb_2312-80"〉
〈title〉DocumentTitle〈/title〉
〈metaname="MicrosoftBorder"content="tl,default"〉〈/head〉
〈bodyBACKGROUND="/ie/images/watermrk.gif"BGPROPERTIES="FIXED"BGCOLOR="#00FFFF"〉
〈%
mousepointer=13
SetConn1=Server.CreateObject("ADODB.Connection")
conn1.open"DSN=cznj"
Setrcst1=conn1.execute("SELECT*FROMpages_catalogue")
sch_str=request.form("text1")
doubbytes=len(sch_str)\2
sch_str=left(sch_str,doubbytes)
Response.Write"〈strong〉〈CENTER〉〈H2〉查找了局〈/H2〉〈HR〉〈Br〉〈/strong〉"
Dimresult
result=false
Response.Write"〈UL〉"
dowhilenotrcst1.eof
tit=rcst1.fields("file_title")
fn=rcst1.fields("file_name")
file_name=Server.MapPath("/")&"\njweb\private\"&fn
to_find=text_match(file_name,sch_str)
ifto_findthen
url="private/"&fn
Response.Write"〈LEFT〉〈LI〉〈H4〉〈AHREF="&url&"〉"&tit
endif
rcst1.movenext
result=resultorto_find
loop
Response.Write"〈/UL〉"
ifnotresultthen
Response.Write"〈H3〉〈I〉未找到!〈/I〉〈/H3〉"
endif
mousepointer=0
%〉
〈scriptRUNAT="Server"LANGUAGE="VBScript"〉
functiontext_match(filename,search_string)
dimretstring
dimfind_pos
Dimfso,a
dimdone
text_match=false
Setfso=Server.CreateObject("Scripting.FileSystemObject")
Seta=fso.OpenTextFile(filename,1,FALSE)"ForReading--〉1
done=a.AtEndOfStreamortext_match
DoWhilenotdone
retstring=a.ReadLine
find_pos=instr(retstring,search_string)
iffind_pos〉0thentext_match=true
done=a.AtEndOfStreamortext_match Loop
a.Close
endfunction
〈/script〉
〈/body〉
〈/html〉
asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关. 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 那么,ASP.Net有哪些改进呢? 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页:
[1]