大灰狼的ASP+javascript开发工具箱

终于实现两个月冲星的愿望。  
  之后我就不多回来csdn了。  
  如今发一个asp开发工具箱(比较多包涵了asp和Javascript)  
  我相信对初学者一点有很大的帮助,甚至能够少提不少问题哟:)  
  但愿这个举动可让我加一点荣誉分。  
  -------------------------------------------------------------  
  邮件方面:  
  CDONTS:  
  ---------------------------  
  <%    
  Set   cdomail   =   Server.CreateObject("CDONTS.NewMail")   '创建邮件对象    
  cdomail.Subject   =   "Mail   Subject"   '邮件标题    
  cdomail.From   =   "Sender's   Mail"   '发件人的地址    
  cdomail.To   =   "Email   will   from"   '收件人的地址    
  cdomail.Body   =   "Mail   Body"   '邮件的内容    
  cdomail.Send   '执行发送    
  %>    
   
    这种方法发送邮件是最简单的,同时也带来必定的问题,就是不多有服务器会开这项服务!    
   
   
    咱们写程序,通常状况下都是说要代码模块化,这样方便维护,同时也方便移植。所以,我在这里将这个发邮件的写成一个子程,在调用的时候能够直接调用(固然,若是你高兴写成函数的话也是能够的,这个主要是看我的兴趣):    
   
  <%    
  '参数说明    
  'Subject   :   邮件标题    
  'MailAddress   :   发件服务器的地址,如smtp.163.com    
  'Email   :   收件人邮件地址    
  'Sender   :   发件人姓名    
  'Content   :   邮件内容    
  'Fromer   :   发件人的邮件地址    
   
  ----------------------------  
  Jmail:  
   
   
  Sub   SendAction(subject,   mailaddress,   email,   sender,   content,   fromer)    
  Set   jmail   =   Server.CreateObject("JMAIL.SMTPMail")   '建立一个JMAIL对象    
  jmail.silent   =   true   'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE    
  jmail.logging   =   true   '启用使用日志    
  jmail.Charset   =   "GB2312"   '邮件文字的代码为简体中文    
  jmail.ContentType   =   "text/html"   '邮件的格式为HTML的    
  jmail.ServerAddress   =   mailaddress   '发送邮件的服务器    
  jmail.AddRecipient   Email   '邮件的收件人    
  jmail.SenderName   =   sender   '邮件发送者的姓名    
  jmail.Sender   =   fromer   '邮件发送者的邮件地址    
  jmail.Priority   =   1   '邮件的紧急程序,1   为最快,5   为最慢,   3   为默认值    
  jmail.Subject   =   subject   '邮件的标题    
  jmail.Body   =   content   '邮件的内容    
  '因为没有用到密抄跟抄送,这里屏蔽掉这两句,若是您有须要的话,能够在这里恢复    
  'jmail.AddRecipientBCC   Email   '密件收件人的地址    
  'jmail.AddRecipientCC   Email   '邮件抄送者的地址    
  jmail.Execute()   '执行邮件发送    
  jmail.Close   '关闭邮件对象    
  End   Sub    
   
  '调用此Sub的例子    
  Dim   strSubject,strEmail,strMailAdress,strSender,strContent,strFromer    
  strSubject   =   "这是一封用JMAIL发送的测试邮件"    
  strContent   =   "JMail组件发送测试成功!"    
  strEmail   =   "runbing@eyou.com"    
  strFromer   =   "runbing@eyou.com"    
  strMailAddress   =   "mail.ubbcn.com"    
   
  Call   SendAction   (strSubject,strMailaddress,strEmail,strSender,strContent,strFromer)    
  %>    
   
  <%    
  Set   jmail   =   Server.CreateObject("JMAIL.SMTPMail")   '建立一个JMAIL对象    
  jmail.silent   =   true   'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE    
  jmail.logging   =   true   '启用使用日志    
  jmail.Charset   =   "GB2312"   '邮件文字的代码为简体中文    
  jmail.ContentType   =   "text/html"   '邮件的格式为HTML的    
  jmail.ServerAddress   =   "Server   Address"   '发送邮件的服务器    
  jmail.AddRecipient   Email   '邮件的收件人    
  jmail.SenderName   =   "SenderName"   '邮件发送者的姓名    
  jmail.Sender   =   "Email   Address"   '邮件发送者的邮件地址    
  jmail.Priority   =   1   '邮件的紧急程序,1   为最快,5   为最慢,   3   为默认值    
  jmail.Subject   =   "Mail   Subject"   '邮件的标题    
  jmail.Body   =   "Mail   Body"   '邮件的内容    
  jmail.AddRecipientBCC   Email   '密件收件人的地址    
  jmail.AddRecipientCC   Email   '邮件抄送者的地址    
  jmail.Execute()   '执行邮件发送    
  jmail.Close   '关闭邮件对象    
  %>    
   
    w3   Jmail4.3组件从新设计了其内部结构——使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件,有些方法须要身份验证的(如16三、yahoo等),能够用下面的方法解决:    
  <%    
  Set   jmail   =   Server.CreateObject("JMAIL.Message")   '创建发送邮件的对象    
  jmail.silent   =   true   '屏蔽例外错误,返回FALSE跟TRUE两值j    
  mail.logging   =   true   '启用邮件日志    
  jmail.Charset   =   "GB2312"   '邮件的文字编码为国标    
  jmail.ContentType   =   "text/html"   '邮件的格式为HTML格式    
  jmail.AddRecipient   Email   '邮件收件人的地址    
  jmail.From   =   "Email   From   for   Sender"   '发件人的E-MAIL地址    
  jmail.MailServerUserName   =   "UserName   of   Email"   '登陆邮件服务器所需的用户名    
  jmail.MailServerPassword   =   "Password   of   Email"   '登陆邮件服务器所需的密码    
  jmail.Subject   =   "Mail   Subject"   '邮件的标题    
  jmail.Body   =   "Mail   Body"   '邮件的内容    
  jmail.Prority   =   1   '邮件的紧急程序,1   为最快,5   为最慢,   3   为默认值    
  jmail.Send("Server   Address")   '执行邮件发送(经过邮件服务器地址)    
  jmail.Close()   '关闭对象    
  %>    
   
   
  ----------------------------------------------------------------  
  asp的错误集合(这个要看仔细了哟):  
   
  ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件  
   
  MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)  
  MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)  
  MicrosoftOLEDBProviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)  
  MicrosoftOLEDBProviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)  
  MicrosoftOLEDBProviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)  
  MicrosoftOLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)  
  MicrosoftOLEDBProviderforODBCDrivers(0x80004005) -->打开数据库出错,没有在指定目录发现数据库  
  MicrosoftOLEDBProviderforODBCDrivers(0x80040E37)-->没有发现表  
   
   
  MicrosoftVBscript运行时错误(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义)  
  MicrosoftVBscript运行时错误(0x800A01C2)-->vbscript脚本错误(vbscript语句出错)  
  MicrosoftVBscript运行时错误(0x800A0006)-->vbscript脚本错误(溢出错误)  
  MicrosoftVBscript编译器错误(0x800A040E)-->缺乏loop  
  MicrosoftVBscript编译器错误(0x800A03EA)-->缺乏if或endif  
  MicrosoftVBscript编译器错误(0x800A03EE)--> 语句未结束(缺乏")")  
  MicrosoftVBscript编译器错误(0x800A03F6)-->if语句出错(缺乏endif)  
  MicrosoftVBscript运行时错误(0x800A005B)-->缺乏set  
  MicrosoftVBscript运行时错误(0x800A0005)-->变量未定义  
  MicrosoftVBscript编译器错误(0x800A03F9)-->if语句缺乏then  
  MicrosoftVBscript编译器错误(0x800A0411)-->dim语句定义错误  
  MicrosoftVBscript编译器错误(0x800A0408)-->sql语句错误  
   
  ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)  
  ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像自己不存在或错误地引用了一个不存在的字段名)  
  ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操做)  
  ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺乏rs.open语句)  
  ADODB.Recordset(0x800A0CC1) -->rs对像出错(引用了一个不存在的字段名)  
  ADODB.Recordset(0x800A0E7D)-->conn定义错误  
  ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,没法更新数据   
ASP   编程中   20   个很是有用的例子  
  1.如何用Asp判断你的网站的虚拟物理路径    
  答:使用Mappath方法    
  <   p   align="center"   ><   font   size="4"   face="Arial"   ><   b   >    
  The   Physical   path   to   this   virtual   website   is:    
  <   /b   ><   /font   >    
  <   font   color="#FF0000"   size="6"   face="Arial"   >    
  <   %=   Server.MapPath("/")%   >    
  <   /font   ><   /p   >    
  2.我如何知道使用者所用的浏览器?    
  答:使用the   Request   object方法    
  strBrowser=Request.ServerVariables("HTTP_USER_AGENT")    
  If   Instr(strBrowser,"MSIE")   <   >   0   Then    
    Response.redirect("ForMSIEOnly.htm")    
  Else    
    Response.redirect("ForAll.htm")    
  End   If    
   
  3.如何计算天天的平均反复访问人数    
  答:解决方法    
  <   %   startdate=DateDiff("d",Now,"01/01/1990")    
  if   strdate<   0   then   startdate=startdate*-1    
  avgvpd=Int((usercnt)/startdate)   %   >    
  显示结果    
  <   %   response.write(avgvpd)   %   >    
  that   is   it.this   page   have   been   viewed   since   November   10,1998    
   
  4.如何显示随机图象    
  <   %   dim   p,ppic,dpic    
  ppic=12    
  randomize    
  p=Int((ppic*rnd)+1)    
  dpic="graphix/randompics/"&p&".gif"    
  %   >    
  显示    
  <   img   src="<   %=dpic%   >"   >    
   
  5.如何回到先前的页面    
  答:<   a   href="<   %=request.serverVariables("Http_REFERER")%   >"   >preivous   page<   /a   >    
  或用图片如:<   img   src="arrowback.gif"   alt="<   %=request.serverVariables("HTTP_REFERER")%   >"   >    
   
  6.如何肯定对方的IP地址    
  答:<   %=Request.serverVariables("REMOTE_ADDR)%   >    
   
  7.如何链结到一副图片上    
  答:<   %   @Languages=vbs   cript   %   >    
  <   %   response.expires=0    
  strimagename="graphix/errors/erroriamge.gif"    
  response.redirect(strimagename)    
  %   >    
   
  8.强迫输入密码对话框    
  答:把这句话放载页面的开头    
  <   %   response.status="401   not   Authorized"    
  response.end    
  %   >    
   
  9.如何传递变量从一页到另外一页    
  答:用   HIDDEN   类型来传递变量    
  <   %   form   method="post"   action="mynextpage.asp"   >    
  <   %   for   each   item   in   request.form   %   >    
  <   input   namee="<   %=item%   >"   type="HIDDEN"    
  value="<   %=server.HTMLEncode(Request.form(item))   %   >"   >    
  <   %   next   %   >    
  <   /form   >    
   
  10.为什么我在   asp   程序内使用   msgbox,程序出错说没有权限    
  答:因为   asp   是服务器运行的,若是能够在服务器显示一个对话框,那么你只好等有人按了肯定以后,你的程序才能继续执行,而通常服务器不会有人守着,因此微软不得不由止这个函数,并胡乱告诉你   (:)   呵呵)   没有权限。可是ASP和客户端脚本结合倒能够显示一个对话框,as   follows:    
  <   %   yourVar="测试对话框"%   >    
  <   %   s   cript   language='javas   cript'   >    
  alert("<   %=yourvar%   >")    
  <   /s   cript   >    
   
  11.有没有办法保护本身的源代码,不给人看到    
  答:能够去下载一个微软的Windows   s   cript   Encoder,它能够对asp的脚本和客户端javas   cript/vbs   cript脚本进行加密。。。不过客户端加密后,只有ie5才能执行,服务器端脚本加密后,只有服务器上安装有s   cript   engine   5(装一个ie5就有了)才能执行。    
   
  12.怎样才能将   query   string   从一个   asp   文件传送到另外一个?    
  答:前者文件加入下句:   Response.Redirect("second.asp?"   &   Request.ServerVariables("QUERY_STRING"))    
   
  13.global.asa文件老是不起做用?    
  答:只有web目录设置为web   application,   global.asa才有效,而且一个web   application的根目录下   global.asa才有效。IIS4可使用Internet   Service   Manager设置application   setting   怎样才能使得htm文件如同asp文件同样能够执行脚本代码?    
   
  14.怎样才能使得htm文件如同asp文件同样能够执行脚本代码?    
  答:Internet   Sevices   Manager   -   >   选择default   web   site   -   >右鼠键-   >菜单属性-〉主目录-   >   应用程序设置(Application   Setting)-   >   点击按钮   "配置"-   >   app   mapping   -   >点击按钮"Add"   -   >   executable   browse选择   /WINNT/SYSTEM32/INETSRV/ASP.DLL   EXTENSION   输入   htm   method   exclusions   输入PUT.DELETE   所有肯定便可。可是值得注意的是这样对htm也要由asp.dll处理,效率将下降。    
   
  15.如何注册组件    
  答:有两种方法。    
  第一种方法:手工注册   DLL   这种方法从IIs   3.0一直使用到IIs   4.0和其它的Web   Server。它须要你在命令行方式下来执行,进入到包含有DLL的目录,并输入:regsvr32   component_name.dll   例如   c:/temp/regsvr32   AspEmail.dll   它会把dll的特定信息注册入服务器中的注册表中。而后这个组件就能够在服务器上使用了,可是这个方法有一个缺陷。当使用这种方法注册完毕组件后,该组件必需要相应的设置NT的匿名账号有权限执行这个dll。特别是一些组件须要读取注册表,因此,这个注册组件的方法仅仅是使用在服务器上没有MTS的状况下,要取消注册这个dll,使用:regsvr32   /u   aspobject.dll   example   c:/temp/regsvr32   /u   aneiodbc.dll    
   
  第二种方法:使用MTS(Microsoft   Transaction   Server)   MTS是IIS   4新增特点,可是它提供了巨大的改进。MTS容许你指定只有有特权的用户才可以访问组件,大大提升了网站服务器上的安全性设置。在MTS上注册组件的步骤以下:    
  1)   打开IIS管理控制台。    
  2)   展开transaction   server,右键单击"pkgs   installed"而后选择"new   package"。    
  3)   单击"create   an   empty   package"。    
  4)   给该包命名。    
  5)   指定administrator账号或则使用"interactive"(若是服务器常常是使用administrator   登录的话)。    
  6)   如今使用右键单击你刚创建的那个包下面展开后的"components"。选择   "new   then   component"。    
  7)   选择   "install   new   component"   。    
  8)   找到你的.dll文件而后选择next到完成。    
  要删除这个对象,只要选择它的图标,而后选择delete。    
  附注:特别要注意第二种方法,它是用来调试本身编写组件的最好方法,而没必要每次都须要从新启动机器了。  
   
  16.   ASP与Access数据库链接:    
   
  <%@   language=VBs   cript%>    
  <%    
  dim   conn,mdbfile    
  mdbfile=server.mappath("数据库名称.mdb")    
  set   conn=server.createobject("adodb.connection")    
  conn.open   "driver={microsoft   access   driver   (*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile    
   
  %>    
   
  17.   ASP与SQL数据库链接:    
   
  <%@   language=VBs   cript%>    
  <%    
  dim   conn    
  set   conn=server.createobject("ADODB.connection")    
  con.open   "PROVIDER=SQLOLEDB;DATA   SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称    
  %>    
   
  创建记录集对象:    
   
  set   rs=server.createobject("adodb.recordset")    
  rs.open   SQL语句,conn,3,2     
18.   SQL经常使用命令使用方法:    
   
  (1)   数据记录筛选:    
   
  sql="select   *   from   数据表   where   字段名=字段值   order   by   字段名   [desc]"    
   
  sql="select   *   from   数据表   where   字段名   like   '%字段值%'   order   by   字段名   [desc]"    
   
  sql="select   top   10   *   from   数据表   where   字段名   order   by   字段名   [desc]"    
   
  sql="select   *   from   数据表   where   字段名   in   ('值1','值2','值3')"    
   
  sql="select   *   from   数据表   where   字段名   between   值1   and   值2"    
   
  (2)   更新数据记录:    
   
  sql="update   数据表   set   字段名=字段值   where   条件表达式"    
   
  sql="update   数据表   set   字段1=值1,字段2=值2   ……   字段n=值n   where   条件表达式"    
   
  (3)   删除数据记录:    
   
  sql="delete   from   数据表   where   条件表达式"    
   
  sql="delete   from   数据表"   (将数据表全部记录删除)    
   
  (4)   添加数据记录:    
   
  sql="insert   into   数据表   (字段1,字段2,字段3   …)   valuess   (值1,值2,值3   …)"    
   
  sql="insert   into   目标数据表   select   *   from   源数据表"   (把源数据表的记录添加到目标数据表)    
   
  (5)   数据记录统计函数:    
   
  AVG(字段名)   得出一个表格栏平均值    
  COUNT(*|字段名)   对数据行数的统计或对某一栏有值的数据行数统计    
  MAX(字段名)   取得一个表格栏最大的值    
  MIN(字段名)   取得一个表格栏最小的值    
  SUM(字段名)   把数据栏的值相加    
   
  引用以上函数的方法:    
   
  sql="select   sum(字段名)   as   别名   from   数据表   where   条件表达式"    
  set   rs=conn.excute(sql)    
   
  用   rs("别名")   获取统的计值,其它函数运用同上。    
   
  (5)   数据表的创建和删除:    
   
  CREATE   TABLE   数据表名称(字段1   类型1(长度),字段2   类型2(长度)   ……   )    
   
  例:CREATE   TABLE   tab01(name   varchar(50),datetime   default   now())    
   
  DROP   TABLE   数据表名称   (永久性删除一个数据表)    
   
  19.   记录集对象的方法:    
   
  rs.movenext   将记录指针从当前的位置向下移一行    
  rs.moveprevious   将记录指针从当前的位置向上移一行    
  rs.movefirst   将记录指针移到数据表第一行    
  rs.movelast   将记录指针移到数据表最后一行    
  rs.absoluteposition=N   将记录指针移到数据表第N行    
  rs.absolutepage=N   将记录指针移到第N页的第一行    
  rs.pagesize=N   设置每页为N条记录    
  rs.pagecount   根据   pagesize   的设置返回总页数    
  rs.recordcount   返回记录总数    
  rs.bof   返回记录指针是否超出数据表首端,true表示是,false为否    
  rs.eof   返回记录指针是否超出数据表末端,true表示是,false为否    
  rs.delete   删除当前记录,但记录指针不会向下移动    
  rs.addnew   添加记录到数据表末端    
  rs.update   更新数据表记录    
   
  ---------------------------------------    
   
  20   Recordset对象方法    
   
  Open方法    
   
  recordset.Open   Source,ActiveConnection,CursorType,LockType,Options    
   
  Source    
  Recordset对象能够经过Source属性来链接Command对象。Source参数能够是一个Command对象名称、一段SQL命令、一个指定的数据表名称或是一个Stored   Procedure。假如省略这个参数,系统则采用Recordset对象的Source属性。    
   
  ActiveConnection    
  Recordset对象能够经过ActiveConnection属性来链接Connection对象。这里的ActiveConnection能够是一个Connection对象或是一串包含数据库链接信息(ConnectionString)的字符串参数。    
   
  CursorType    
  Recordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述以下:    
  --------------------------------------------------------------    
  常数   常数值   说明    
  -------------------------------------------------------------    
  adOpenForwardOnly   0   缺省值,启动一个只能向前移动的游标(Forward   Only)。    
  adOpenKeyset   1   启动一个Keyset类型的游标。    
  adOpenDynamic   2   启动一个Dynamic类型的游标。    
  adOpenStatic   3   启动一个Static类型的游标。    
  -------------------------------------------------------------    
  以上几个游标类型将直接影响到Recordset对象全部的属性和方法,如下列表说明他们之间的区别。    
   
  -------------------------------------------------------------    
  Recordset属性   adOpenForwardOnly   adOpenKeyset   adOpenDynamic   adOpenStatic    
  -------------------------------------------------------------    
  AbsolutePage   不支持   不支持   可读写   可读写    
  AbsolutePosition   不支持   不支持   可读写   可读写    
  ActiveConnection   可读写   可读写   可读写   可读写    
  BOF   只读   只读   只读   只读    
  Bookmark   不支持   不支持   可读写   可读写    
  CacheSize   可读写   可读写   可读写   可读写    
  CursorLocation   可读写   可读写   可读写   可读写    
  CursorType   可读写   可读写   可读写   可读写    
  EditMode   只读   只读   只读   只读    
  EOF   只读   只读   只读   只读    
  Filter   可读写   可读写   可读写   可读写    
  LockType   可读写   可读写   可读写   可读写    
  MarshalOptions   可读写   可读写   可读写   可读写    
  MaxRecords   可读写   可读写   可读写   可读写    
  PageCount   不支持   不支持   只读   只读    
  PageSize   可读写   可读写   可读写   可读写    
  RecordCount   不支持   不支持   只读   只读    
  Source   可读写   可读写   可读写   可读写    
  State   只读   只读   只读   只读    
  Status   只读   只读   只读   只读    
  AddNew   支持   支持   支持   支持    
  CancelBatch   支持   支持   支持   支持    
  CancelUpdate   支持   支持   支持   支持    
  Clone   不支持   不支持    
  Close   支持   支持   支持   支持    
  Delete   支持   支持   支持   支持    
  GetRows   支持   支持   支持   支持    
  Move   不支持   支持   支持   支持    
  MoveFirst   支持   支持   支持   支持    
  MoveLast   不支持   支持   支持   支持    
  MoveNext   支持   支持   支持   支持    
  MovePrevious   不支持   支持   支持   支持    
  NextRecordset   支持   支持   支持   支持    
  Open   支持   支持   支持   支持    
  Requery   支持   支持   支持   支持    
  Resync   不支持   不支持   支持   支持    
  Supports   支持   支持   支持   支持    
  Update   支持   支持   支持   支持    
  UpdateBatch   支持   支持   支持   支持    
  --------------------------------------------------------------    
  其中NextRecordset方法并不适用于Microsoft   Access数据库。    
   
  LockType    
  Recordset对象Open方法的LockType参数表示要采用的Lock类型,若是忽略这个参数,那么系统会以Recordset对象的LockType属性为预设值。LockType参数包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述以下:    
   
  -------------------------------------------------------------    
  常数   常数值   说明    
  --------------------------------------------------------------    
  adLockReadOnly   1   缺省值,Recordset对象以只读方式启动,没法运行AddNew、Update及Delete等方法    
  adLockPrssimistic   2   当数据源正在更新时,系统会暂时锁住其余用户的动做,以保持数据一致性。    
  adLockOptimistic   3   当数据源正在更新时,系统并不会锁住其余用户的动做,其余用户能够对数据进行增、删、改的操做。    
  adLockBatchOptimistic   4   当数据源正在更新时,其余用户必须将CursorLocation属性改成adUdeClientBatch才能对数据进行增、    
  删、改的操做。   
在线播放器:  
   
  1)、rm文件在线播放    
  <embed   height=25   src=www.xiakedao.com/biyun/ren/a.rm   type=audio/x-pn-realaudio-plugin   width=50   autostart="false"   controls="PlayButton">    
  autostart="false"   打开页面时处于候命状态,autostart="true"   打开页面时立刻听声音   height=25   width=50   有不一样数值,播放器面板有些不一样    
   
  2)、midi、au、avi文件在线播放    
  <EMBED   SRC="http://www.shunde.net.cn/~biyun/wlsd/wy/yinyue/H/1.mid"   width="47"   height="24"   AUTOSTART=TRUE>autostart="false"   打开页面时处于候命状态,autostart="true"   打开页面时立刻听声音   height=25   width=50   有不一样数值,播放器面板有些不一样    
   
  3)、asf文件在线播放  
  <html>    
  <head>    
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">    
  <title></title>    
  </head>    
  <body   topmargin="0"   leftmargin="0">    
  <object   classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95   codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=7.0   height=53   id=NSPlay0   name=NSPlay   type=application/x-oleobject   width=87   VIEWASTEXT   standby="Loading   Microsoft   Windows   Media   Player   components..."   border="0"><param   name="AudioStream"   value="-1">    
  <param   name="AutoSize"   value="0">    
  <param   name="AutoStart"   value="0">    
  <param   name="AnimationAtStart"   value="-1">    
  <param   name="AllowScan"   value="-1">    
  <param   name="AllowChangeDisplaySize"   value="-1">    
  <param   name="AutoRewind"   value="0">    
  <param   name="Balance"   value="0">    
  <param   name="BaseURL"   value>    
  <param   name="BufferingTime"   value="10">    
  <param   name="CaptioningID"   value>    
  <param   name="ClickToPlay"   value="-1">    
  <param   name="CursorType"   value="0">    
  <param   name="CurrentPosition"   value="-1">    
  <param   name="CurrentMarker"   value="0">    
  <param   name="DefaultFrame"   value>    
  <param   name="DisplayBackColor"   value="0">    
  <param   name="DisplayForeColor"   value="65280">    
  <param   name="DisplayMode"   value="0">  
  <param   name="DisplaySize"   value="1">    
  <param   name="Enabled"   value="-1">    
  <param   name="EnableContextMenu"   value="-1">    
  <param   name="EnablePositionControls"   value="-1">    
  <param   name="EnableFullScreenControls"   value="-1">    
  <param   name="EnableTracker"   value="-1">    
  <param   name="Filename"   value="http://www.shunde.net.cn/~biyun/wlsd/down/yin/zheng/asf/5.asf">    
  <param   name="InvokeURLs"   value="-1">    
  <param   name="Language"   value="-1">    
  <param   name="Mute"   value="0">    
  <param   name="PlayCount"   value="1">    
  <param   name="PreviewMode"   value="0">    
  <param   name="Rate"   value="1">    
  <param   name="SAMILang"   value>    
  <param   name="SAMIStyle"   value>    
  <param   name="SAMIFileName"   value>    
  <param   name="SelectionStart"   value="-1">    
  <param   name="SelectionEnd"   value="-1">    
  <param   name="SendOpenStateChangeEvents"   value="-1">    
  <param   name="SendWarningEvents"   value="-1">    
  <param   name="SendErrorEvents"   value="-1">    
  <param   name="SendKeyboardEvents"   value="0">    
  <param   name="SendMouseClickEvents"   value="0">    
  <param   name="SendMouseMoveEvents"   value="0">    
  <param   name="SendPlayStateChangeEvents"   value="-1">    
  <param   name="ShowCaptioning"   value="0">    
  <param   name="ShowControls"   value="-1">    
  <param   name="ShowAudioControls"   value="0">    
  <param   name="ShowDisplay"   value="0">    
  <param   name="ShowGotoBar"   value="0">    
  <param   name="ShowPositionControls"   value="-1">    
  <param   name="ShowStatusBar"   value="-1">    
  <param   name="ShowTracker"   value="-1">    
  <param   name="TransparentAtStart"   value="-1">    
  <param   name="VideoBorderWidth"   value="0">    
  <param   name="VideoBorderColor"   value="0">    
  <param   name="VideoBorder3D"   value="-1">    
  <param   name="Volume"   value="0">    
  <param   name="WindowlessVideo"   value="0">    
  </object>    
  其中<param   name="AutoStart"   value="0">   0为打开页面处于待命状态,为1时打开页面直接播放   </body>    
  </html>    
  <object   id="vid"   classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"   width=114   height=100>    
  <param   name="_ExtentX"   value="3016">    
  <param   name="_ExtentY"   value="2646">    
  <param   name="AUTOSTART"   value="-1">    
  <param   name="SHUFFLE"   value="0">    
  <param   name="PREFETCH"   value="0">    
  <param   name="NOLABELS"   value="-1">    
  <param   name="SRC"   value="http://music.cnvnet.com/mtv/20010618/002.ram">    
  <param   name="CONTROLS"   value="Imagewindow">    
  <param   name="CONSOLE"   value="clip1">    
  <param   name="LOOP"   value="0">    
  <param   name="NUMLOOP"   value="0">    
  <param   name="CENTER"   value="0">    
  <param   name="MAINTAINASPECT"   value="0">    
  <param   name="BACKGROUNDCOLOR"   value="#000000">    
  </object>   
 javascript

更改NT的密码:  
  <%  
  Sub   ChangeUserPassword(Computer,UserName,oldPassword,newPassword)  
  Dim   adsUser,foundErr,ErrMsg  
  On   Error   Resume   Next  
  foundErr=False  
  ErrMsg=""  
  Set   adsUser=GetObject("WinNT://"+Computer+"/"+UserName+",user")  
  If   Err.Number<>0   Then  
  foundErr=True  
  ErrMsg="User   not   found!"  
  response.write   err.description  
  Else  
  adsUser.ChangePassword   oldPassword,   newPassword  
  adsUser.SetInfo  
  response.write   err.description&"2"  
  If   Err.Number<>0   Then  
  foundErr=True  
  ErrMsg=Now   &   ".   Error   Code:   "   &   Hex(Err)   &   "   -   "   &   Err.Description   &   "<br/>"  
  Err.Clear  
  End   If  
  End   If  
  response.write     foundErr  
  If   Not   foundErr   Then  
  objContext.SetComplete  
  Response.Write   "<font   color=red><b>密码已经成功修改!   </b><br/><br/>"  
  Response.Write   "</font>"  
  Else  
  objContext.SetAbort  
  Response.Write   "<font   color=red><b>错误的旧密码,请从新输入正确的旧密码!</b><br/><br/>"&ErrMsg  
  Response.Write   "</font>"  
  End   If  
  Set   adsUser=Nothing  
  End   Sub    
   
  response.write   "<center><h2>更改NT用户密码</h2></center>"  
   
  Computer="abc"  
  UserName="ccc"  
  oldPassword="c"  
  newPassword="csl"  
   
  ChangeUserPassword   Computer,UserName,oldPassword,newPassword  
  %>  
利用ASP如何把SQL   SERVER的表导入到ACCESS中:  
  <%set   Conn   =   Server.CreateObject("ADODB.Connection")    
  Conn.Open   "driver={SQL   server};server=mamaco;uid=linner;pwd=123;dat    
  abase=linner"    
  sql="select   *   from   scjh"    
  set   rs=conn.execute   (sql)%>    
  <%set   Conn1   =   Server.CreateObject("ADODB.Connection")    
  param   =   "driver={Microsoft   Access   Driver   (*.mdb)}"    
  conn.Open   param   &   ";dbq="   &   Server.MapPath("scjh.mdb")    
  conn1.execute("delete   from   scjh")%>    
  <%do   while   not   rs.eof%>    
  <%dim   ktdh,scph,scts,jhqtsj,yhxdsj,yxj,rwbh    
  ktdh=rs("ktdh")    
  scph=rs("scph")    
  scts=rs("scts")    
  jhqtsj=rs("jhqtsj")    
  yhxdsj=rs("yhxdsj")    
  yxj=rs("yxj")    
  rwbh=rs("rwbh")    
  %>    
  <%sql1="insert   into   scjh(ktdh,scph,scts,jhqtsj,yhxdsj,yxj,rwbh)    
  values    
   
   
   
  ('"&   ktdh   &"','"   &   scph   &   "',"   &   scts    
  &   ",'"&jhqtsj&"','"&yhxdsj&"',"&    
   
   
   
  yxj   &","   &   rwbh   &")"    
  conn1.execute   (sql1)%>    
  <%rs.movenext    
  loop    
  conn1.close    
  conn.close%>    
  <%response.redirect   "/download/scjh.mdb"%>html

下面是JS方面的:  
  收集meizz   (梅花雪)的:  
  ----------------------------------------  
  1.     οncοntextmenu="window.event.returnValue=false"             将完全屏蔽鼠标右键  
          <table   border   οncοntextmenu=return(false)><td>no</table>       可用于Table  
   
  2.     <body   onselectstart="return   false">                                   取消选取、防止复制  
   
  3.     οnpaste="return   false"                                                                                 不许粘贴  
   
  4.     οncοpy="return   false;"   oncut="return   false;"                                     防止复制  
   
  5.     <link   rel="Shortcut   Icon"   href="favicon.ico">   IE地址栏前换成本身的图标  
   
  6.     <link   rel="Bookmark"   href="favicon.ico">     能够在收藏夹中显示出你的图标  
   
  7.     <input   style="ime-mode:disabled">                                                       关闭输入法  
   
  8.     永远都会带着框架  
  <script   language="JavaScript"><!--  
      if   (window   ==   top)top.location.href   =   "frames.htm";   //frames.htm为框架网页  
  //   --></script>  
   
  9.     防止被人frame  
  <SCRIPT   LANGUAGE=JAVASCRIPT><!--    
      if   (top.location   !=   self.location)top.location=self.location;  
  //   --></SCRIPT>  
   
  10.   <noscript><iframe   src=*.html></iframe></noscript>           网页将不能被另存为  
   
  11.   <input   type=button   value=查看网页源代码    
    οnclick="window.location   =   'view-source:'+   'http://www.csdn.net/'">  
   
  12.   怎样经过asp的手段来检查来访者是否用了代理  
  <%   if   Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>""   then  
    response.write   "<font   color=#FF0000>您经过了代理服务器,"&   _  
    "真实的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")  
    end   if  
  %>  
   
  13.   取得控件的绝对位置  
   
  //Javascript  
  <script   language="Javascript">  
  function   getIE(e){  
      var   t=e.offsetTop;  
      var   l=e.offsetLeft;  
      while(e=e.offsetParent){  
          t+=e.offsetTop;  
          l+=e.offsetLeft;  
          }  
      alert("top="+t+"/nleft="+l);  
      }  
  </script>  
   
  //VBScript  
  <script   language="VBScript"><!--  
  function   getIE()  
      dim   t,l,a,b  
      set   a=document.all.img1  
      t=document.all.img1.offsetTop  
      l=document.all.img1.offsetLeft  
      while   a.tagName<>"BODY"  
          set   a   =   a.offsetParent  
          t=t+a.offsetTop  
          l=l+a.offsetLeft  
      wend  
      msgbox   "top="&t&chr(13)&"left="&l,64,"获得控件的位置"  
  end   function  
  --></script>  
   
  14.   光标是停在文本框文字的最后  
  <script   language="javascript">  
  function   cc()  
  {  
      var   e   =   event.srcElement;  
      var   r   =e.createTextRange();  
      r.moveStart('character',e.value.length);  
      r.collapse(true);  
      r.select();  
  }  
  </script>  
  <input   type=text   name=text1   value="123"   οnfοcus="cc()">  
   
  15.   判断上一页的来源  
  asp:  
  request.servervariables("HTTP_REFERER")  
   
  javascript:  
  document.referrer  
   
  16.   最小化、最大化、关闭窗口  
  <object   id=hh1   classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">    
  <param   name="Command"   value="Minimize"></object>  
  <object   id=hh2   classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">    
  <param   name="Command"   value="Maximize"></object>  
  <OBJECT   id=hh3   classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">  
  <PARAM   NAME="Command"   VALUE="Close"></OBJECT>  
   
  <input   type=button   value=最小化   οnclick=hh1.Click()>  
  <input   type=button   value=最大化   οnclick=hh2.Click()>  
  <input   type=button   value=关闭   οnclick=hh3.Click()>  
  本例适用于IE  
   
  17.    
  <%  
    '定义数据库链接的一些常量  
  Const   adOpenForwardOnly           =   0   '游标只向前浏览记录,不支持分页、Recordset、BookMark  
  Const   adOpenKeyset                     =   1   '键集游标,其余用户对记录说作的修改将反映到记录集中,但其余用户增长或删除记录不会反映到记录集中。支持分页、Recordset、BookMark  
  Const   adOpenDynamic                   =   2   '动态游标功能最强,但耗资源也最多。用户对记录说作的修改,增长或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。  
  Const   adOpenStatic                     =   3   '静态游标,只是数据的一个快照,用户对记录说作的修改,增长或删除记录都不会反映到记录集中。支持向前或向后移动  
   
  Const   adLockReadOnly                 =   1   '锁定类型,默认的,只读,不能做任何修改  
  Const   adLockPessimistic           =   2   '当编辑时当即锁定记录,最安全的方式  
  Const   adLockOptimistic             =   3   '只有在调用Update方法时才锁定记录集,而在此前的其余操做仍可对当前记录进行更改、插入和删除等  
  Const   adLockBatchOptimistic   =   4   '当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的  
   
  Const   adCmdText     =   &H0001  
  Const   adCmdTable   =   &H0002  
  %>  
   
  18.   网页不会被缓存  
  HTM网页  
  <META   HTTP-EQUIV="pragma"   CONTENT="no-cache">  
  <META   HTTP-EQUIV="Cache-Control"   CONTENT="no-cache,   must-revalidate">  
  <META   HTTP-EQUIV="expires"   CONTENT="Wed,   26   Feb   1997   08:21:57   GMT">  
  或者<META   HTTP-EQUIV="expires"   CONTENT="0">  
  ASP网页  
      Response.Expires   =   -1  
      Response.ExpiresAbsolute   =   Now()   -   1  
      Response.cachecontrol   =   "no-cache"  
  PHP网页  
  header("Expires:   Mon,   26   Jul   1997   05:00:00   GMT");  
  header("Cache-Control:   no-cache,   must-revalidate");  
  header("Pragma:   no-cache");  
19.   检查一段字符串是否全由数字组成  
  <script   language="Javascript"><!--  
  function   checkNum(str){return   str.match(//D/)==null}  
  alert(checkNum("1232142141"))  
  alert(checkNum("123214214a1"))  
  //   --></script>  
   
  20.   得到一个窗口的大小  
  document.body.clientWidth,document.body.clientHeight  
   
  21.   怎么判断是不是字符  
  if   (/[^/x00-/xff]/g.test(s))   alert("含有汉字");  
  else   alert("全是字符");  
   
  22.TEXTAREA自适应文字行数的多少  
  <textarea   rows=1   name=s1   cols=27   onpropertychange="this.style.posHeight=this.scrollHeight">  
  </textarea>  
   
  23.   日期减去天数等于第二个日期  
  <script   language=Javascript>  
  function   cc(dd,dadd)  
  {  
  //能够加上错误处理  
  var   a   =   new   Date(dd)  
  a   =   a.valueOf()  
  a   =   a   -   dadd   *   24   *   60   *   60   *   1000  
  a   =   new   Date(a)  
  alert(a.getFullYear()   +   "年"   +   (a.getMonth()   +   1)   +   "月"   +   a.getDate()   +   "日")  
  }  
  cc("12/23/2002",2)  
  </script>  
   
  24.   选择了哪个Radio  
  <HTML><script   language="vbscript">  
  function   checkme()  
      for   each   ob   in   radio1  
          if   ob.checked   then   window.alert   ob.value  
      next  
  end   function  
  </script><BODY>  
  <INPUT   name="radio1"   type="radio"   value="style"   checked>Style  
  <INPUT   name="radio1"   type="radio"   value="barcode">Barcode  
  <INPUT   type="button"   value="check"   οnclick="checkme()">  
  </BODY></HTML>  
   
  25.得到本页url的request.servervariables("")集合  
  Response.Write   "<TABLE   border=1><!--   Table   Header   --><TR><TD><B>Variables</B></TD><TD><B>Value</B></TD></TR>"  
  for   each   ob   in   Request.ServerVariables  
  Response.Write   "<TR><TD>"&ob&"</TD><TD>"&Request.ServerVariables(ob)&"</TD></TR>"  
  next  
  Response.Write   "</TABLE>"  
   
  26.  
  本机ip<%=request.servervariables("remote_addr")%>  
  服务器名<%=Request.ServerVariables("SERVER_NAME")%>  
  服务器IP<%=Request.ServerVariables("LOCAL_ADDR")%>  
  服务器端口<%=Request.ServerVariables("SERVER_PORT")%>  
  服务器时间<%=now%>  
  IIS版本<%=Request.ServerVariables"SERVER_SOFTWARE")%>  
  脚本超时时间<%=Server.ScriptTimeout%>  
  本文件路径<%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%>  
  服务器CPU数量<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%>  
  服务器解译引擎<%=ScriptEngine   &   "/"&   ScriptEngineMajorVersion   &"."&ScriptEngineMinorVersion&"."&   ScriptEngineBuildVersion   %>  
  服务器操做系统<%=Request.ServerVariables("OS")%>  
27.ENTER键可让光标移到下一个输入框  
  <input   οnkeydοwn="if(event.keyCode==13)event.keyCode=9">  
   
  28.   检测某个网站的连接速度:  
  把以下代码加入<body>区域中:  
  <script   language=Javascript>  
  tim=1  
  setInterval("tim++",100)  
  b=1  
   
  var   autourl=new   Array()  
  autourl[1]="www.njcatv.net"  
  autourl[2]="javacool.3322.net"  
  autourl[3]="www.sina.com.cn"  
  autourl[4]="www.nuaa.edu.cn"  
  autourl[5]="www.cctv.com"  
   
  function   butt(){  
  document.write("<form   name=autof>")  
  for(var   i=1;i<autourl.length;i++)  
  document.write("<input   type=text   name=txt"+i+"   size=10   value=测试中……>   =》<input   type=text   name=url"+i+"   size=40>   =》<input   type=button   value=GO   οnclick=window.open(this.form.url"+i+".value)><br>")  
  document.write("<input   type=submit   value=刷新></form>")  
  }  
  butt()  
  function   auto(url){  
  document.forms[0]["url"+b].value=url  
  if(tim>200)  
  {document.forms[0]["txt"+b].value="连接超时"}  
  else  
  {document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}  
  b++  
  }  
  function   run(){for(var   i=1;i<autourl.length;i++)document.write("<img   src=http://"+autourl[i]+"/"+Math.random()+"   width=1   height=1   οnerrοr=auto('http://"+autourl[i]+"')>")}  
  run()</script>  
29.   各类样式的光标  
  auto                     :标准光标  
  default               :标准箭头  
  hand                     :手形光标  
  wait                     :等待光标  
  text                     :I形光标  
  vertical-text   :水平I形光标  
  no-drop               :不可拖动光标  
  not-allowed       :无效光标  
  help                     :?帮助光标  
  all-scroll         :三角方向标  
  move                     :移动标  
  crosshair           :十字标  
  e-resize  
  n-resize  
  nw-resize  
  w-resize  
  s-resize  
  se-resize  
  sw-resize  
java