CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

关于使用javascript作为服务器端脚本的asp问题!

楼主beyond_xiruo(CorruptionException)2002-01-17 13:27:44 在 Web 开发 / ASP 提问

如题,应该如何操纵数据库、文本等等的问题?  
  用vbscript的话连接数据库可以使用connection,recordset,command等,javascript呢?  
  同样的,vbscript操纵文本文件可以用filesystemobject,那么javascript呢?  
  另外如上传,使用自定义组件等功能,用javascript作为服务器端脚本的时候,应该怎么做呢? 问题点数:100、回复次数:10Top

1 楼zlgun(自由人)回复于 2002-01-17 13:36:35 得分 5

用Visual   InterDev,那全是用Jscript做的代码库  
  慢慢看吧:)Top

2 楼beyond_xiruo(CorruptionException)回复于 2002-01-17 13:41:39 得分 0

呵呵,这样回答未免太草率了吧!Top

3 楼zlgun(自由人)回复于 2002-01-17 13:44:33 得分 0

那你来个全面的:)Top

4 楼tonnycncn(托尼)(weiw.com)回复于 2002-01-17 13:56:28 得分 75

精品共赏:  
  ASP技术访问WEB数据库  
  赵皖平  
   
  一.   访问WEB数据库的多种方案  
   
  目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:  
  1.公共网关接口CGI(Common   Gateway   Interface)  
  CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的开发成本高、维护困难、功能有限、不具备事务处理功能、占用服务器资源较多。  
   
  2.   INTERNET数据库连接器IDC(Internet   Database   Connector)  
  IDC集成在ISAPI(Internet   Server   API)中,充分利用了DLL技术,易扩充,但编程较CGI更为复杂,只适用于小型数据库系统。  
   
  3.   先进数据库连接器ADC(Advance   Database   Connector)  
  ADC提供了ActiveX   Control来访问数据库,它的主要特点是数据查询由用户端浏览器执行,因而需将服务器端数据库中的部分记录下载到用户端,系统开销较大、响应慢,只适用于特别频繁的数据库查询操作。  
   
  4.   JAVA/JDBC语言编程  
  JAVA语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库。用JAVA/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。  
   
  5.   动态服务器页面ASP(Active   Server   Page)  
  ASP是微软公司最新推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的最佳选择。  
   
  二.   ASP简介  
   
  1.ASP访问数据库的原理  
  ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。   ASP的工作原理如图(1)所示:  
   
  HTTP请求   SQL请求  
   
  HTML页面   SQL结果  
   
   
  图(1)  
   
  当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript   或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveX   Data   Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。  
  由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。  
   
  2.ASP页面的结构:  
  ASP的程序代码简单、通用,文件名由.asp结尾,ASP文件通常由四部分构成:  
  1)   标准的HTML标记:所有的HTML标记均可使用。  
  2)   ASP语法命令:位于<%   %>   标签内的ASP代码。  
  3)   服务器端的include语句:可用#include语句调入其它ASP代码,增强了编程的灵活性。  
  4)   脚本语言:ASP自带JScript和VBScript两种脚本语言,增加了ASP的编程功能,用户也可安装其它脚本语言,如Perl、Rexx等。  
   
  3.ASP的运行环境  
  目前ASP可运行在三种环境下。  
  1)   WINDOWS   NT   server   4.0运行IIS   3.0(Internet   Information   Server)以上。  
  2)   WINDOWS   NT   workstation   4.0运行Peer   Web   Server   3.0以上。  
  3)   WINDOWS   95/98运行PWS(Personal   Web   Server)。  
  其中以NT   server上的IIS功能最强,提供了对ASP的全面支持,是创建高速、稳定的ASP主页的最佳选择。  
   
  4.ASP的内建对象  
  ASP提供了六个内建对象,供用户直接调用:  
  1)   Application对象:负责管理所有会话信息,可用来在指定的应用程序的所有用户之间共享信息。  
  2)   Session对象:存贮特定用户的会话信息,只被该用户访问,当用户在不同WEB页面跳转时,Session中的变量在用户整个会话过程中一直保存。Session对象需cookie支持。  
  3)   Request对象:从用户端取得信息传递给服务器,是ASP读取用户输入的主要方法。  
  4)   Response对象:服务器将输出内容发送到用户端。  
  5)   Server对象:提供对服务器有关方法和属性的访问。  
  6)   Object   Context对象:IIS   4.0新增的对象,用来进行事务处理。此项功能需得到MTS(Microsoft   Transcation   Server)管理的支持。  
   
  5.   ASP的主要内置组件:  
  1)   Ad   Rotator组件:用来按指定计划在同一页上自动轮换显示广告,用于WWW上日益重要的广告服务。  
  2)   Browser   Capabilities组件:确定访问WEB站点的用户浏览器的功能数据,包括类型、性能、版本等。  
  3)   Database   Access组件:提供ADO   (ActiveX   Data   Objects)来访问支持ODBC的数据库。  
  4)   File   Access组件:提供对服务器端文件的读写功能。  
  5)   Content   Linking组件:生成WEB页内容列表,并将各页顺序连接,用于制作导航条。  
  此外,还可安装Myinfo、Counters、Content   Rotator、Page   Count等组件,用户也可自行编制Actiive组件,以提高系统的实用性。  
   
  6.   Database   Access组件ADO  
  WWW上很重要的应用是访问WEB数据库,用ASP访问WEB数据库时,必须使用ADO组件,ADO是ASP内置的ActiveX服务器组件(ActiveX   Server   Component),通过在WEB服务器上设置ODBC和OLEDB可连接多种数据库:如SYBASE、ORACLE、INFORMIX、SQL   SERVER、ACCESS、VFP等,是对目前微软所支持的数据库进行操作的最有效和最简单直接的方法。  
   
  ADO组件主要提供了以下七个对象和四个集合来访问数据库。  
  1)   Connection对象:建立与后台数据库的连接。  
  2)   Command对象:执行SQL指令,访问数据库。  
  3)   Parameters对象和Parameters集合:为Command对象提供数据和参数。  
  4)   RecordSet对象:存放访问数据库后的数据信息,是最经常使用的对象。  
  5)   Field对象和Field集合:提供对RecordSet中当前记录的各个字段进行访问的功能。  
  6)   Property对象和Properties集合:提供有关信息,供Connection、Command、RecordSet、Field对象使用。  
  7)   Error对象和Errors集合:提供访问数据库时的错误信息。  
   
  三.   ASP访问数据库步骤  
  在ASP中,使用ADO组件访问后台数据库,可通过以下步骤进行:  
   
  1.   定义数据源  
  在WEB服务器上打开“控制面板”,选中“ODBC”,在“系统DSN”下选“添加”,选定你希望的数据库种类、名称、位置等。本文定义“SQL   SERVER”,数据源为“HT”,数据库名称为“HTDATA”,脚本语言采用Jscript。  
   
  2,使用ADO组件查询WEB数据库  
  1)   调用Server.CreateObject方法取得“ADODB.Connection”的实例,再使用Open方法打开数据库:  
  conn   =   Server.CreateObject(“ADODB.Connection”)  
  conn.Open(“HT”)  
  2)   指定要执行的SQL命令  
  连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来完成的,如要在数据表signaltab中查询代码中含有“X”的记录  
  sqlStr   =   “select   *   from   signaltab   where   code   like   ‘%X%’”  
  rs   =   conn.Execute(sqlStr)  
  3)   使用RecordSet属性和方法,并显示结果  
  为了更精确地跟踪数据,要用RecordSet组件创建包含数据的游标,游标就是储存在内存中的数据。  
  rs   =   Server.CreateObject(“ADODB.RecordSet”)  
  rs.Open(sqlStr,conn,1,A)  
   
  注:A=1读取  
  A=3   新增、修改、删除  
   
  在RecordSet组件中,常用的属性和方法有:  
  rs.Fields.Count:   RecordSet对象的字段数。  
  rs(i).Name:   第i个字段的名称,i为0至rs.Fields.Count-1  
  rs(i):   第i个字段的数据,i为0至rs.Fields.Count-1  
  rs("字段名"):   指定字段的数据。  
  rs.Record.Count:游标中的数据记录总数。  
  rs.EOF:   是否最后一条记录。  
  rs.MoveFirst:   指向第一条记录。  
  rs.MoveLast:   指向最后一条记录。  
  rs.MovePrev:   指向上一条记录。  
  rs.MoveNext:   指向下一条记录。  
  rs.GetRows:   将数据放入数组中。  
  rs.Properties.Count:ADO的ResultSet或Connection的属性个数。  
  rs.Properties(item).Name:ADO的ResultSet或Connection的名称。  
  rs.Properties:   ADO的ResultSet或Connection的值。  
  rs.close():   关闭连接。  
   
  4)   关闭数据库  
  conn.close()  
   
  四.查询WEB数据库举例  
  下面这段示例程序是访问SQL   SERVER数据库的   signaltab表,表中有三个字段:code(代码字段,字符型,3位),class(分类字段,字符型,10位),memo(备注字段,字符型,20位)。程序中数据源DSN:HT、用户名:client、口令:passwd。  
   
  屏幕输入页面input.asp  
  <%   @   language=javascript   %>  
  <html>  
   
  <head>  
  <title>请输入查询条件PLEASE   INPUT   CONDITION</title>  
  </head>  
   
  <form   action=shotquery.asp   METHOD="post"   target="_self">  
  <input   TYPE="text"   size=6   maxlength=3   NAME=signalCode   VALUE="代码">   </font></p>  
  </center></div><p></p>  
   
  <input   LANGUAGE="JavaScript"   TYPE="submit"   VALUE=“确认”   NAME="B1"  
  &nbsp;&nbsp;&nbsp;  
  <input   TYPE="reset"   VALUE=“清除”NAME="B2">   &nbsp;   &nbsp;&nbsp;&nbsp;  
  &nbsp;&nbsp;  
  <input   LANGUAGE="JavaScript"   TYPE="button"   NAME="B3"   VALUE=“返回”  
  ONCLICK="window.history.back()">    
   
  </font></p>  
  </center></div>  
  </form>  
   
  </body>  
  </html>  
   
  数据库处理程序shotquery.asp  
  <!--#include   virtual="/master/lib.inc"-->  
  <script   language=javascript   runat=server>  
   
  var   signalCode=Request.Form("signalCode");  
  dbConn   =   Server.CreateObject("ADODB.Connection");  
  dbConn.open("DSN=HT;UID=client;PWD=passwd");    
  rs   =   Server.CreateObject("ADODB.RecordSet");  
   
  var   sqlStr   =   "select   *   from   signaltab   order   by   code";  
  rs.open(sqlStr,dbConn,1);  
   
   
  if(rs.RecordCount   <   1)   {  
  Response.write("<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无符合条件记录</p>");  
  Response.write("<p><form>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input   type='button'   value='   返回'   onclick='window.history.back()'   name='b1'></form></p>");  
  }  
  else   {  
   
  Response.write("<P><center><B>数据查询结果</B></center></P>");  
   
  Response.write("<tr><td><b>代码</b></td><td><b>分类</b></td><td><b>备注</b></td>");  
   
  for(var   i   =   1;i   <=   rs.Pagesize;i++)   {  
  if(!rs.Eof)   {  
  Response.write("<td><span   style='font-size:9t'>"+rs("code")+"</span></td>");  
  Response.write("<td><span   style='font-size:9t'>"+rs("class")+"</span></td>");  
  Response.write("<td><span   style='font-size:9t'>"+rs("memo")+"</span></td>");  
  Response.write("</tr>");  
   
  rs.MoveNext();  
  }  
  else   break;  
  }  
   
  Response.write("</table></form>");  
   
  rs.close();  
  dbConn.close();  
  }  
   
  </script>  
  Top

5 楼zcflion(吃大白菜的鸟--菜鸟)回复于 2002-01-17 14:55:31 得分 0

这么利害啊!!  
   
  写这么长的回复,你的CSDN的连接还不超时啊!!Top

6 楼wdfboy1978(初学者)回复于 2002-01-17 16:19:18 得分 20

同意托尼,没错!Top

7 楼marysxj(走自己的路,让别人打的去吧!)回复于 2002-01-17 16:56:17 得分 0

tonnycncn(托尼)(stady.51.net):你是从哪里拷贝过来的?给我一份完整的行吗?Top

8 楼beyond_xiruo(CorruptionException)回复于 2002-01-17 17:06:49 得分 0

感谢tonnycncn(托尼)(stady.51.net),结帐!!!Top

9 楼BrightEye(男儿当自强,靠别人不如靠自己)回复于 2002-01-17 17:09:08 得分 0

还有竟品吗?呵呵,我要收藏!!!!!!!!!!!!!1Top

10 楼oyiboy(coder)回复于 2002-01-17 17:43:46 得分 0

zcflion(土匪)真是笨笨,没看到这是一篇贴来的文章吗?嘻嘻,开玩笑而以。Top

相关问题

  • 有用JavaScript做服务器端脚本写ASP程序的同仁进来聊聊。
  • 服务器控件能不能加入写好的javascript脚本
  • 我的服务器无法执行ASP脚本
  • 如何编写删除服务器端文件的ASP脚本
  • 100分!!!!怎样让domino服务器能够解释 微软的asp脚本
  • win2003下如何配置服务器才能看见我写的asp脚本?
  • asp中的服务器端脚本是不是只能够使用vb语言
  • 在同一个asp文件中要同时运行服务器端脚本和客户端脚本,而且。。。。
  • 关于在一个ASP页面中客户端脚本与服务器端脚本混合编程的问题
  • 怎样在一个ASP页面中,从服务器端脚本向客户端脚本传送变量

关键词

  • .net
  • 数据库
  • 组件
  • 服务器
  • 字段
  • asp
  • 用户
  • 脚本
  • 数据
  • 查询

得分解答快速导航

  • 帖主:beyond_xiruo
  • zlgun
  • tonnycncn
  • wdfboy1978

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo