在Sql Server 中调用Jmail组件发送邮件

 Sql Server 中调用Jmail组件发送邮件

预备知识

    1OLE自动化函数

    OLE自动化使应用程序能够对另一个应用程序中实现的对象进行操作,或者将对象公开以便可以对其进行操作。自动化客户端是可对属于另一个应用程序的公开对象进行操作的应用程序,本文值得是Sql Server。公开对象的应用程序称为自动化服务器,又成为自动化组件,本文中即Jmail组件咯。客户端通过访问应用程序对象的属性和函数对这些对象进行操作。

Sql Server使用Ole组件的途径是几个系统扩展存储过程sp_OACreatesp_OADestroysp_OAGetErrorInfosp_OAMethodsp_OASetPropertysp_OAGetProperty,再次简单地介绍一下使用方法,详细资料参考Sql Server联机丛书。

 

    OLE自动化对象的使用方法:

    1)调用sp_OACreate 创建对象。

    格式:sp_OACreate clsid,objecttoken OUTPUT [ , context ]

    参数:clsid——是要创建的OLE 对象的程序标识符(ProgID)。此字符串描述该OLE 对象的类,其形式,如'OLEComponent.Object'OLEComponent OLE 自动化服务器的组件名称,Object OLE 对象名,本文中使用的“JMail.Message”;

Objecttoken——是返回的对象标志,并且必须是数据类型为int 的局部变量。用于标识所创建的OLE 对象,并将在调用其它OLE 自动化存储过程时使用。本文中就是通过它来调用JMail.Message组件的属性和方法的。

 

Context——指定新创建的OLE 对象要在其中运行的执行上下文。本文不使用该参数,故不赘述。以下与此一致,所有方法属性的其他用法请参阅Sql Server联机文档。

 

    2)使用该对象。

    a)调用sp_OAGetProperty 获取属性值。

    格式:_OAGetProperty objecttoken,propertyname [, propertyvalue OUTPUT]

    参数:(前面出现过的参数,以下均省略。)

    Propertyname——对象的属性名称;

Propertyvalue——返回的对象的属性值,该参数带OUTPUT属性,执行该操作后,你就可以从propertyvalue中得到属性的值了。

 

    b)调用sp_OASetProperty 将属性设为新值。

    格式:sp_OASetProperty objecttoken, propertyname, propertyvalue

c)调用sp_OAMethod 以调用某个方法。

 

    格式:sp_OAMethod objecttoken, methodname [, returnvalue OUTPUT] [ , [ parametername = ] parametervalue [...n]]

    参数:Returnvalue——调用方法的返回值,如果没有返回值,此参数设置为NULL

    Parametername——方法定义中的参数名称,也就是形参;

    Parametervalue——参数值;

……n——表示,可以带很多参数,个数由方法定义限制;

 

    d)调用sp_OAGetErrorInfo 获取最新的错误信息。

    格式:sp_OAGetErrorInfo [objecttoken ] [, source OUTPUT] [, description OUTPUT]

    参数:Source——错误源;

    Description——错误描述;

()调用sp_OADestroy 释放对象。

 格式:sp_OADestroy objecttoken

 

2.操作方法

    1)软件准备

    请先到http://www.dimac.net/或者国内提供组件下载的网站下载最新版的JMail组件,如果你得到的是安装版,执行weJMailx.exe即可,系统的配置安装程序会自动完成。如果只有一个JMail.dll文件,请按照下面的步骤安装:

    a)新建文本文件,输入如下命令:

regsvr32 /S Jmail.dll

net start w3svc

(b)将文本文件保存为bat批处理文件,以供调用。

 

或做成vbs脚本也行:(:regsvr 32 /S, 这里的S让程序静默处理,不显示对话框)

 

Set WshShell=CreateObject("Wscript.Shell")

WshShell.Run "regsvr32 /S JMail.dll",0

WshShell.Run "net start w3svc",0

 

(c)此文件连同Jmail.dll一起拷贝到Sql Server数据库服务器的System32目录下,运气时双击即可。

 

 

3Sql Store Procedure的处理

 

Create Procedure sp_jmail_send

@sender varchar(100),

@sendername varchar(100)='',

@serveraddress varchar(255)='SMTP Server Address',

@MailServerUserName varchar(255)=null,

@MailServerPassword varchar(255)=null,

@recipient varchar(255),

@recipientBCC varchar(200)=null,

@recipientBCCName varchar(200)=null,

@recipientCC varchar(200)=null,

@recipientCCName varchar(100)=null,

@attachment varchar(100) =null,

@subject varchar(255),

@mailbody text

As

/*

该存储过程使用办公自动化脚本调用Dimac w3 JMail AxtiveX组件来代替Sql Mail发送邮件

该方法支持服务器端身份验证

*/

--声明w3 JMail使用的常规变量及错误信息变量

Declare @object int,@hr int,@rc int,@output varchar(400),@description varchar (400),@source varchar(400)

 

--创建JMail.Message对象

 

Exec @hr = sp_OACreate 'jmail.message', @object OUTPUT

 

--设置邮件编码

Exec @hr = sp_OASetProperty @object, 'Charset', 'gb2312'

 

--身份验证

If Not @MailServerUserName is null

Exec @hr = sp_OASetProperty @object, 'MailServerUserName',@MailServerUserName

If Not @MailServerPassword is null

Exec @hr = sp_OASetProperty @object, 'MailServerPassword',@MailServerPassword

 

--设置邮件基本参数

Exec @hr = sp_OASetProperty @object, 'From', @sender

Exec @hr = sp_OAMethod @object, 'AddRecipient', NULL , @recipient

Exec @hr = sp_OASetProperty @object, 'Subject', @subject

Exec @hr = sp_OASetProperty @object, 'Body', @mailbody

 

--设置其它参数

if not @attachment is null

exec @hr = sp_OAMethod @object, 'Addattachment', NULL , @attachment,'false'

print @attachment

If (Not @recipientBCC is null) And (Not @recipientBCCName is null)

Exec @hr = sp_OAMethod @object, 'AddRecipientBCC', NULL , @recipientBCC,@recipientBCCName

Else If Not @recipientBCC is null

Exec @hr = sp_OAMethod @object, 'AddRecipientBCC', NULL , @recipientBCC

 

If (Not @recipientCC is null) And (Not @recipientCCName is null)

Exec @hr = sp_OAMethod @object, 'AddRecipientCC', NULL , @recipientCC,@recipientCCName

Else If Not @recipientCC is null

Exec @hr = sp_OAMethod @object, 'AddRecipientCC', NULL , @recipientCC

 

If Not @sendername is null

Exec @hr = sp_OASetProperty @object, 'FromName', @sendername

 

--调用Send方法发送邮件

Exec @hr = sp_OAMethod @object, 'Send', null,@serveraddress

 

--捕获JMail.Message异常

Exec @hr = sp_OAGetErrorInfo @object, @source OUTPUT, @description OUTPUT

 

if (@hr = 0)

Begin

Set @output='错误源: '+@source

Print @output

Select @output = '错误描述: ' + @description

Print @output

End

Else

Begin

Print '获取错误信息失败!'

Return

End

 

---调用上面的Jmail Store Procedure 来发邮件---

Create Procedure SendMail

@Sender varChar(50)=null,

@strRecipients varChar(200),

@strSubject varChar(200),

@strMessage varChar(2000),

@sql varChar(50)=null

As

Declare @SplitStr varchar(1) --Split symbol

Declare @strTemp varchar(200) --Temp Multi-email address for split

Declare @email varchar(50) --email address

 

Declare @SenderAddress varChar(50)

Declare @Attach varChar(200)

 

Declare @DefaultSender varChar(50)

Declare @MailServer varChar(50)

Declare @User varChar(50)

Declare @Pass varChar(50)

Declare @SenderName varChar(50)

Declare @AttachDir varChar(100)

 

--Set Initial value

Set @DefaultSender='Default Sender'

Set @MailServer='Mail Server'

Set @User='SMTP User'

Set @Pass='SMTP Password'

Set @SenderName='Sender Name'

 

Set @AttachDir='E:/Data/Jmail_Attach/'+Replace(Replace(Replace(Convert(varChar(19),GetDate(),120),'-',''),' ',''),':','')+'.txt'

 

--Set Email Address Split semicolon ;

set @SplitStr=';'

Set @strTemp=@strRecipients+@SplitStr+'end'

Set @strTemp=Replace(@strTemp,',',';')

 

--Check sql Sentence

If (@Sql is Null) Or (len(@Sql)=0)

Set @AttachDir=Null

Else

Begin

Declare @CmdStr varChar(200)

Set @CmdStr='bcp "'+@Sql+'" queryout '+@AttachDir+' -c'

EXEC master..xp_cmdshell @CmdStr

End

 

while CharIndex(@SplitStr,@strTemp,1)<>0

Begin

Set @email=left(@strTemp,CharIndex(@SplitStr,@strTemp,1)-1)

Set @strTemp=right(@strTemp,len(@strTemp)-len(@email)-1)

If (@Sender Is Null) Or (Len(@Sender)=0)

Set @SenderAddress=@DefaultSender

Else

Set @SenderAddress=@Sender

Print @email

--Call sp_jmail_send Send Mail

EXEC sp_jmail_send @sender=@SenderAddress,@sendername=@SenderName,

@serveraddress=@MailServer,@MailServerUserName=@User,@MailServerPassword=@Pass,

@recipient=@email,@subject=@strSubject,@mailbody=@strMessage,@attachment=@AttachDir

End

事实上,我们用第一个sp_jmail_send 存储过程就够了,后面的一个SendMail 的存储过程是在前一个的基础上做的扩展。根据需求来改变,你可以做更多的扩展。

注意:如果在执行存储过程的时候发生如下错误:

Msg 15281, Level 16, State 1, Procedure sp_OACreate, Line 1

SQL Server blocked access to procedure 'sys.sp_OACreate' of component 'Ole Automation Procedures' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ole Automation Procedures' by using sp_configure. For more information about enabling 'Ole Automation Procedures', see "Surface Area Configuration" in SQL Server Books Online.

Msg 15281, Level 16, State 1, Procedure sp_OASetProperty, Line 1

SQL Server blocked access to procedure 'sys.sp_OASetProperty' of component 'Ole Automation Procedures' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ole Automation Procedures' by using sp_configure. For more information about enabling 'Ole Automation Procedures', see "Surface Area Configuration" in SQL Server Books Online.

Msg 15281, Level 16, State 1, Procedure sp_OASetProperty, Line 1

SQL Server blocked access to procedure 'sys.sp_OASetProperty' of component 'Ole Automation Procedures' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ole Automation Procedures' by using sp_configure. For more information about enabling 'Ole Automation Procedures', see "Surface Area Configuration" in SQL Server Books Online.

Msg 15281, Level 16, State 1, Procedure sp_OASetProperty, Line 1

SQL Server blocked access to procedure 'sys.sp_OASetProperty' of component 'Ole Automation Procedures' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ole Automation Procedures' by using sp_configure. For more information about enabling 'Ole Automation Procedures', see "Surface Area Configuration" in SQL Server Books Online.

 

我们需要修改:

Start -> programs ->MS sql 2005 -> configuration tools -> surfce area configuration -> Surface area conf for features ->

Ole automation -> select the Enable check box and saved

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
动易® SiteWeaver™ CMS 是一套面向各类小型站点建设和管理而设计研发的通用建站管理系统(又称内容管理系统),是目前国内用户数量最多(超过30万网站),最受用户欢迎的CMS系统。其强大的功能和简单易用的完善融合赢得了广大用户的一致认可。系统基于ASP语言和MSSQL/ACCESS数据库开发,无论在稳定性、代码优化、运行效率、负载能力、安全等级、功能可操控性和权限严密性等方面都居国内外同类产品领先地位。   该套动易系统在WEB开发领域的领先地位勿容置疑,而今配合由QuickWAP开发的动易内容管理系统的WAP适配程序更是令动易锦上添花。   QuickWAP问世于2005年7月底,凭着开发人员对WAP开发技术的熟悉和接入联通移动业务的丰富经验,制作了第一款组件开发平台,由于组件封装了多种功能模块、运行速度快于动态脚本 WML语言(如:ASP WML),简化了WAP代码开发,调试动态WAP程序简单,更加适合国人使用,使得QuickWAP受到极大的欢迎,尤其在小型企业WAP建站方面应用更加广泛。   作为商业软件产品,QuickWAP在代码优化、运行效率、负载能力、安全等级等方面,赢得了广大用户的良好口碑,本着不断创新追求完美的设计理念,使得QuickWAP在国内外同类产品脱颖而出、独树一帜。经过效率最优化和负载能力最佳化设计的QuickWAP开发平台,现已获得业内越来越多专家和权威企业的认可。   1.简化WAP代码   QuickWAP封装了多种功能模块,从而使您简化了WAP代码的编写,便于程序调试。WAP网页代码均采用UTF-8编码,使网页的兼容性和适应性更强,内部优化了WAP语言模块,用QuickWAP做的手机网站更容易通过W3C标准验证。   2.数据库支持   支持Microsoft SQL Server2000、2005和Microsoft Access2000以上数据库,通过维护数据库内容,更新WAP页面内容,自动过滤非法字符和HTML代码。WAP页面也可调用WEB数据库内容,达到同步互联。   3.编程灵活   使用QuickWAP能够让开发人员编写WAP程序像使用ASP一样灵活自如,减小了单纯使用WML语言区分字符大小写的难度。即使不用懂WML和XHTML MP也可轻松上手制作复杂的动态WAP网站。   4.功能强大,速度快、运行稳定   QuickWAP具备ActiveX组件的所有优点,它可以被重复使用,只要在服务器上注册成功后,所有动态ASP网页程序(包含WAP页面和WEB页面)都可以通过创建对象的方式调用的功能模块。   5.代码封装,安全可靠   QuickWAP将应用程序的商业逻辑封装到组件,更适合应用于企业WAP网站。内置非法关键字过滤功能,有助于国家扫黄打非进行。同时具有SQL防注入功能,当用户在地址栏恶意进行特殊符号输入时,QuickWAP会自动停止源代码的运行,极大的提高了服务器的安全性。   6.集多种技术、语言于一体,将实用性、易用性发挥的淋漓尽致。   QuickWAP的开发集成了微软的ASP、VB、ActiveX、Windows2003(2007)、IIS6.0(5.0)、Access、MSSQL2000(2005)、SQL和WAP的WML、XHTML MP语言,以及ASPJPEG、JMail组件、CSS语言等技术于一体,其以微软的各种技术为核心,支持Windows XP、2000、2003 Server、2007等微软的操作系统(服务器)。   7.开发接口对外公开,功能易于拓展。   QuickWAP提供有WAP1.2、2.0英文模块,所有功能模块均有详细说明及代码实例,开发者不但可以利用现有的QuickWAP源码程序(现已有十余套WAP代码免费开源),还可以进行二次开发,为您开发WAP节省时间,提高效率,为国普及WAP贡献力量。 动易内容管理系统的WAP适配程序主要特点:   ●此适配程序以动易® SiteWeaver™ 内容管理系统6.8 为基础,支持MSSQL和ACCESS版动易。   ●自动获得自建频道,自动判断频道类别,并且显示。   ●可自动辨别浏览器类型,屏蔽IE或WAP模拟器的访问。   ●自动调用动易WEB的最新公告,按从新到旧依次显示。   ●前台页面设计(样式)和程序基本分离,可以通过外置样式表(style.css)进行样式设置。   ●栏目支持二三级分类,二三级栏目可以混用,每一级支持无限个子栏目。支持无限个专题。   ●支持文一键切换功能,方便大陆与港澳台地区人民访问。   ●优化读取动易数据库、对表内容进行优化、过滤显示。   ●具有站内搜索,包含产品、新闻、图片,仅提供标题搜索。   ●文章栏目和下载栏目可以继承动易的注册会员下载或阅读权限。   ●当动易WEB频道的目录做为一个独立子站点来访问时,WAP适配自动获取子站点域名,并以子站点域名引用文件。   ●动易WEB的自定义栏目列表文件的存放位置,WAP适配会自动获取,无需人为设置。   ●完全同步新闻、下载、图片的评论功能,可以发布评论,评论后默认为非审核,通过动易WEB后台审核方可显示。 动易内容管理系统的WAP适配程序主要功能模块:   ●文章模块   ●下载模块   ●图片模块   ●留言模块 文章模块功能简介   ●自动获取数据库的文章内容,并且过滤HTML元素,文章自动进行分页,分页样式和字数均可自定义。   ●文章的上传插图也会以缩略图形式显示,必须配合ASPJPEG组件完成,但是没有该组件依旧可以使用,点击缩略图查看或下载原图。   ●支持“上下篇文章”功能,可以通过此进行阅读文章,而不必返回列表目录。   ●字符替换(过滤敏感字)管理功能。可以对文章内容出现的非法文字按站长事先指定的规则进行替换或过滤。   ●支持文章评论功能,通过动易WEB后台进行评论管理、管理员回复等功能。 下载模块功能简介   ●支持软件名称、软件版本、软件简介、开发商、来源、软件类别、软件语言、授权形式、运行平台、软件缩略图、解压密码。   ●如果服务器支持ASPJPEG组件,则自动生成软件缩略图,点击缩略图查看或下载原图。   ●每个软件支持无限多个下载地址。自动分析动易WEB下载地址,WAP适配进行下载。   ●支持“上下篇软件”功能,可以通过此进行查看软件,而不必返回列表目录。   ●字符替换(过滤敏感字)管理功能。可以对下载内容出现的非法文字按站长事先指定的规则进行替换或过滤。   ●支持软件评论功能,通过动易WEB后台进行评论管理、管理员回复等功能。 图片模块功能简介   ●如果服务器支持ASPJPEG组件,则自动生成图片缩略图,点击缩略图查看或下载原图。   ●支持图片名称、图片作者、图片来源、图片简介。   ●支持“上下篇图片”功能,可以通过此进行查看图片,而不必返回列表目录。   ●字符替换(过滤敏感字)管理功能。可以对图片内容出现的非法文字按站长事先指定的规则进行替换或过滤。   ●支持图片评论功能,通过动易WEB后台进行评论管理、管理员回复等功能。 留言板模块功能简介   ●将动易WEB留言完美显示在WAP上,过滤其的HTML代码,将留言内容正确显示。   ●支持“上下篇留言”功能,可以通过此进行查看留言,而不必返回列表目录。 &nbsp; 系统运行环境 操作系统   服务器使用文版Windows 2003、Windows 2000或 Windows XP(专业版)操作系统。 脚本解释器   程序所需的脚本解释引擎支持为Vbscripts5.6 以上版本(安装IE6即可获得)。 Web 服务器   服务器需要安装IIS5.0 或IIS6.0 数据引擎   使用MS SQL Server 2000、MS SQL Server 2005数据库或MS ACCESS 2000数据库。 权限要求   对Sql Server 数据库具有建表、备份的权限,对Access 数据库具有写权限。 QuickWAP组件   服务器需要安装最新QuickWAP组件。 &nbsp; 系统安装步骤   1、安装QuickWAP组件。将QuickWAP.dll拷贝到System32文件夹下,在开始菜单运行 regsvr32 QuickWAP.dll 即可。   2、在动易WEB的源码根目录下新建文件夹“WAP”,将适配代码拷贝到“WAP”文件夹下。   3、设置动易的数据库路径,打开WapConfig/WapConfig.asp,进行相关设置。如果为Access数据库则是要修改XML.MdbPath,用于设置为动易WEB数据库对于刚才新建的“WAP”文件夹的相对路径。如果为MSSQL数据库,则设置   XML.SqlServerName="202.99.160.68" '"数据库服务器名或IP地址。   XML.SqlUserId="sa" '您的登录帐号。   XML.SqlUserPwd="sa" '您的登录密码。   XML.SqlDBName="Article" '您的数据库名称。   4、怎样进行访问。这时我们就可以通过你的网站域名,比如为www.quickwap.net,那么WAP访问为www.quickwap.net/wap。如果为MSSQL数据库,你可以将wap.quickwap.net域名绑定子目录“WAP”,这样你可以通过wap.quickwap.net访问。   至此,已经完成动易内容管理系统的WAP适配程序的安装工作,既然是WAP/WEB同步适配,那么自然WAP是不需要后台的,所有维护是通过动易自带的WEB站来管理的。
ASP 第1章 ASP入门要点 7.如何创建一个ASP文件并浏览其执行结果 第2章 ASP.NET运行模型 12.如何定义变量和判定变量类型 13.什么是变量的作用域 14.如何强制要求显式声明变量 15.如何保留或消除过程调用对变量的影响 16.如何创建和调整动态数组 18.如何计算英文混合字符串的长度 19.如何判断字符串是否以指定字符串开头或结尾 20.如何判断字符是否是英文字符 21.如何检测字符串出现的次数 22.如何过滤字符串的HTML代码 23.如何截取字符串 24.如何实现字符串和数组的转换 25.如何实现字符大小写的转换 26.如何将每个单词的首个字母改成大写 27.如何将汉字转换为拼音 28.如何分位显示位数较长的数字 29.如何将数字转换为大写的文字符 30.如何判断奇数和偶数 32.如何生成一个随机数 33.如何实现VBScript和JavaScript的数据共享(JavaScript to VBScript) 33.如何实现VBScript和JavaScript的数据共享(VBScript to JavaScript) 33.如何实现VBScript和JavaScript的数据共享(Server to Client) 34.如何创建VBScript编码模板 第3章 ASP对象 35.如何创建和获取Application级的对象及变量 36.如何创建和获取Session级的对象及变量 38.如何利用Session防止用户重复投票 40.如何在Session对象失效后重新设置Session对象 41.如何创建、读写和删除Cookie 43.如何遍历Cookies集合 44.如何判断客户端的Cookie是否处于开启状态 45.如何使用Cookie记录用户访问信息 46.如何用Cookie实现仅弹出一次同样的窗口 48.如何清除页面缓存 49.如何获取用户浏览器信息 50.如何获取用户真实的IP地址 52.如何判断网站的虚拟物理路径 53.如何解决URL含有特殊字符引发的错误 第4章 ASP组件 55.如何使用Browser Capabilities组件获取浏览器信息 56.如何使用Ad Rotator组件实现页面导航 57.如何使用Content Linking组件 58.如何使用File Access组件 59.如何使用Counters组件实现网站访问人数统计 60.如何使用ASPPing组件 61.如何使用ASPHttp组件 62.如何用Visual Basic编写ActiveX DLL及其使用 63.如何远程注册DLL文件 64.如何把ASP代码编写成DLL文件 65.如何在ASP引用类 第5章 ADO数据库 67.如何创建一个断开连接的数据库访问页 68.如何获取数据库表名、字段名以及执行相应操作(获取数据库名) 68.如何获取数据库表名、字段名以及执行相应操作(获取数据库表名) 68.如何获取数据库表名、字段名以及执行相应操作(执行操作) 69.如何在客户端向服务器端数据库批量添加数据 73.如何对欲删除的记录确认后再删除 74.如何用in关键字实现数据的批量删除 75.如何只读取数据库的前几条记录且如何实现排行榜 76.如何实现在多个表查询数据 77.如何用ASP实现通用条件查询模块 78.如何在ASP整合SQL语句 79.如何实现不刷新页面筛选数据库的数据 80.如何实现公共的数据分页模块 82.如何在ADO调用SQL函数 83.如何调用SQL Server存储过程 86.如何用ASP备份和恢复SQL Server数据库 88.如何将图像存入到数据库 89.如何从数据库调用显示图像 90.如何用ASP读取Excel文件 91.怎样将数据从Excel导入到SQL Server 92.怎样将数据从Access导入到SQL Server 94.如何对Access数据库进行压缩 96.如何使用ASP实现Web数据统计和报表 97.如何在查询结果搜索 第6章 数据验证 101.如何在ASP使用正则表达式 102.如何验证字符串为空(示例一) 102.如何验证字符串为空(示例二) 102.如何验证字符串为空(示例三) 102.如何验证字符串为空 (示例四) 103.如何验证字符串包含有效字符 106.如何验证整数或长整数 108.如何验证电子邮件地址 第7章 文件处理 113.读取驱动器信息 113.浏览文件夹下所有文件信息 113.文件夹的复制 113.文件夹的获取 113.文件夹的移动 114.遍历指定目录下的文件 114.遍历目录及目录下的文件 115.使用起泡法按照时间排列文件 117.读取INI文件 118.读取注册表的信息 119.获知文件被改动的情况 120.用ASP实现远程批量文件改名 121.实现无组件文件上传 122.利用组件实现复杂上传功能 123.利用Stream读取显示文件 123.利用Stream上传文件 124.计算下载一个文件需要多长时间 第8章 表单与页面显示 127.如何处理单个网页多个表单的提交 128.如何防止表单被多次提交 129.如何防止表单在网站外被提交 130.如何解决表单发送数据小于100KB的问题 131.如何在表单动态添加文本框 132.如何解决下拉列表出现选项重复的问题 133.如何实现在下拉列表输入文字 134.如何实现级联下拉列表 135.如何根据用户的分辨率调整窗口 136.如何弹出自定义窗口(示例一) 136.如何弹出自定义窗口(示例二) 136.如何弹出自定义窗口(示例三) 137.如何定时自动关闭弹出的窗口 138.如何解决用showModelessDialog弹出新窗口的问题 140.如何强制刷新网页 141.如何吸取网页上的颜色 142.如何将RGB值转换成十六进制值 第9章 使用XML 143.如何创建和显示一个XML文档(示例一) 143.如何创建和显示一个XML文档(示例二) 143.如何创建和显示一个XML文档(示例三) 144.如何在ASP环境下应用XML 145.如何通过XMLDom在服务器端操作XML文件(示例一) 145.如何通过XMLDom在服务器端操作XML文件(示例二) 146.如何使用XML实现不刷新页面查询数据库 147.如何把HTML表单提交的数据转化成XML文件(第一步) 147.如何把HTML表单提交的数据转化成XML文件(第二步) 148.如何在ASP使用XML实现网页"本地化" 149.如何用XML制作留言本 第10章 专题应用 150.如何统计在线人数 152.如何统计用户在站点停留的时间 153.如何从服务器获得客户端时间 154.如何测试网站速度 156.如何制作防刷新计数器 157.如何实现ASP缓存技术 158.如何在ASP实现Ping 159.如何打印Iframe的内容 160.如何用ASP实现网络打印 161.如何用组件实现本地特定打印 162.如何在ASP程序打印Excel报表 163.如何在ASP调用Java类 164.如何在线压缩和解压缩WinRAR文件 第11章 综合开发 166.如何实现聊天室功能 167.如何实现网上投票调查 168.如何实现购物车功能 169.如何实现在线影音播放 170.如如何实现论坛功能 171.如何实现智能搜索 172.如何利用索引服务创建站内搜索引擎 173.如何实现电子邮件的自动发送 174.如何使用ASPJmail进行邮件群发 第12章 错误与调试 177.如何个性化显示错误信息 178.如何同时显示数据库连接错误和页面错误 第13章 性能优化 第14章 安全加密
鱼鱼asp函数组件(fishasp20090218.dll) 鱼鱼版权所有,非经鱼鱼许可禁止用于商业用途 鱼鱼QQ:260332019 EMAIL:afishofsun@163.com 注意:请先注册鱼鱼asp函数组件,然后才能调用鱼鱼asp组件函数 鱼鱼asp组件注册文件:regdll.bat,鱼鱼asp组件卸载文件:unregdll.bat 鱼鱼asp组件调用示例文件:test.asp(测试文件),db.asp(数据库) 组件文件fishasp20090218.dll,组件名称fishasp20090218,包含类fasp,类fasp包含下列函数。 组件调用: dim faspobj set faspobj=server.createobject("fishasp20090218.fasp") '创建fasp对象 dim s=faspobj.delpiccontent("sdfsd<") '使用fasp对象调用函数 '------------------------------------- '鱼鱼ASP函数 '鱼鱼版权所有,不可用于商业用途 'QQ:260332019 EMAIL:afishofsun@163.com '函数delpiccontent(str),该函数用来删除字段内容的图片内容/代码。 '------------------------------------- '天枫ASP class v1.0鱼鱼修改版,集常用asp函数于一体 '天枫版权所有http://www.52515.net 'QQ:76994859 EMAIL:[email protected] '所有功能函数名如下: '------------------------------------- '--------字符处理-------------------------- '**************************************************** '函数名:StrLength(str) '作 用:取得字符串长度(汉字为2) '参 数:str ----字符串内容 '返回值:字符串长度 '**************************************************** '**************************************************** '函数名:CutStr(str, strlen) '作 用:字符串长度切割,超过显示省略号 '参 数:str ----字符串内容 ' strlen ------要显示的长度 '返回值:切割后字符串内容 '**************************************************** '--------------系列验证---------------------------- '**************************************************** '函数名:CheckIsEmpty(tstr) '作 用:检查是否为空 '参 数:tstr ----字符串 '返回值:true不为空,false为空 '**************************************************** '**************************************************** '函数名:isInteger(para) '作 用:整数检验 '参 数:tstr ----字符 '返回值:true是整数,false不是整数 '**************************************************** '**************************************************** '函数名:CheckName(str) '作 用:名字字符检验 '参 数:str ----字符串 '返回值:true无误,false有误 '**************************************************** '**************************************************** '函数名:CheckPassword(str) '作 用:密码检验 '参 数:str ----字符串 '返回值:true无误,false有误 '**************************************************** '**************************************************** '函数名:CheckEmail(email) '作 用:邮箱格式检测 '参 数:str ----Email地址 '返回值:true无误,false有误 '**************************************************** '--------------信息提示---------------------------- '**************************************************** '函数名:Alert(msg, goUrl) '作 用:弹出对话框提示 '参 数:msg ----对话框信息 ' gourl ----提示后转向哪里 '返回值:无 '**************************************************** '**************************************************** '函数名:GoBack(str1, str2, isback) '作 用:错误信息提示 '参 数:str1 ----信息提示标题 ' str2 ----信息提示内容 ' isback ----是否显示返回 '返回值:无 '**************************************************** '**************************************************** '函数名:Suc(str1, str2, url) '作 用:成功提示信息 '参 数:str1 ----信息提示标题 ' str2 ----信息提示内容 ' url ----返回地址 '返回值:无 '**************************************************** '--------------安全处理---------------------------- '**************************************************** '函数名:ChkPost() '作 用:禁止站外提交表单 '返回值:true站内提交,flase站外提交 '**************************************************** '**************************************************** '函数名:PSql() '作 用:防止SQL注入 '返回值:为空则无注入,不为空则注入并返回注入的字符 '**************************************************** '**************************************************** '函数名:FiltrateHtmlCode(str) '作 用:防止生成html代码 '参 数:str ----字符串 '**************************************************** '**************************************************** '函数名:HtmlCode(str) '作 用:过滤Html标签 '参 数:str ----字符串 '**************************************************** '**************************************************** '函数名:Replacehtml(tstr) '作 用:清理html '参 数:tstr ----字符串 '**************************************************** '---------------获取客户端和服务端的一些信息------------------- '**************************************************** '函数名:GetIP() '作 用:获取客户端IP地址 '返回值:客户端IP地址 '**************************************************** '**************************************************** '函数名:GetBrowser() '作 用:获取客户端浏览器信息 '返回值:客户端浏览器信息 '**************************************************** '**************************************************** '函数名:GetSystem() '作 用:获取客户端操作系统 '返回值:客户端操作系统 '**************************************************** '**************************************************** '函数名:CUrl() '作 用:获取当前页面URL的函数 '返回值:当前页面URL的函数 '**************************************************** '**************************************************** '函数名:GetExtend(FileName) '作 用:取得文件扩展名 '参 数:filename ----文件名 '**************************************************** '------------------数据库的操作----------------------- '**************************************************** '函数名:conndb(str) '作 用:连接数据库,返回连接对象 '参 数:str---数据库连接串 '返回值:conn打开的连接对象 '**************************************************** '**************************************************** '函数名:creaters() '作 用:创建记录集对象 '参 数: '返回值:rs创建的记录集对象 '**************************************************** '**************************************************** '函数名:CheckExist(conn, table, fieldname, fieldcontent, isblur) '作 用:检测某个表某个字段是否存在某个内容 '参 数:conn---数据库连接对象 'table ----表名 ' fieldname ----字段名 ' fieldcontent ----字段内容 ' isblur (值为1或0) ----是否模糊匹配 '返回值:false不存在,true存在 '**************************************************** '**************************************************** '函数名:GetNum(conn, table, fieldname, resulttype, args) '作 用:检测某个表某个字段的数量或最大值或最小值 '参 数:conn---连接对象table ----表名 ' fieldname ----字段名 ' resulttype ----还回结果(count/max/min) ' args ----附加参加(order by ...) '返回值:数值 '**************************************************** '**************************************************** '函数:UpdateValue(conn, table, fieldname, fieldtype, fieldvalue, id, url) '作 用:更新表某字段某内容的值 '参 数:conn--------数据库连接对象 'table ----表名 ' fieldname ----字段名 ' fieldtype ----字段数据类型 ' fieldvalue ----更新后的值 ' id ----id ' url -------更新后转向地址 '返回值:无 '**************************************************** '---------------服务端信息和操作----------------------- '**************************************************** '函数名:GetFolderSize(Folderpath) '作 用:计算某个文件夹的大小 '参 数:FileName ----文件夹路径及文件夹名称 '返回值:数值 '**************************************************** '**************************************************** '函数名:GetFileSize(FileName) '作 用:计算某个文件的大小 '参 数:FileName ----文件路径及文件名 '返回值:数值 '**************************************************** '**************************************************** '函数名:IsObjInstalled(strClassString) '作 用:检查组件是否安装 '参 数:strClassString ----组件名称 '返回值:false不存在,true存在 '**************************************************** '**************************************************** '函数名:SendMail(MailServerAddress, AddRecipient, Subject, Body, Sender, MailFrom) '作 用:用Jmail组件发送邮件 '参 数:ServerAddress ----服务器地址 ' AddRecipient ----收信人地址 ' Subject ----主题 ' Body ----信件内容 ' Sender ----发信人地址 '**************************************************** '**************************************************** '函数名:ResponseCookies(Key, Value, Expires) '作 用:写入COOKIES '参 数:Key ----cookie名 ' value ----cookie值 ' expires ---- cookie过期时间 '**************************************************** '-----------------系列格式化------------------------ '**************************************************** '函数名:FormatSize(dsize) '作 用:大小格式化 '参 数:size ----要格式化的大小 '**************************************************** '**************************************************** '函数名:FormatTime(DateTime, Format) '作 用:时间格式化 '参 数:DateTime ----要格式化的时间 ' Format ----格式的形式 '**************************************************** '----------------------杂项--------------------- '**************************************************** '函数名:Zodiac(birthday) '作 用:取得生消 '参 数:birthday ----生日 '**************************************************** '**************************************************** '函数名:Constellation(birthday) '作 用:取得星座 '参 数:birthday ----生日 '****************************************************

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值