ASP代码大全Word文档格式.docx
《ASP代码大全Word文档格式.docx》由会员分享,可在线阅读,更多相关《ASP代码大全Word文档格式.docx(66页珍藏版)》请在冰豆网上搜索。
发件人姓名Content:
邮件内容Fromer:
发件人的邮件地址-Jmail:
SubSendAction(subject,mailaddress,email,sender,content,fromer)Setjmail=Server.CreateObject(JMAIL.SMTPMail)创建一个JMAIL对象jmail.silent=trueJMAIL不会抛出例外错误,返回的值为FALSE跟TRUEjmail.logging=true启用使用日志jmail.Charset=GB2312邮件文字的代码为简体中文jmail.ContentType=text/html邮件的格式为HTML的jmail.ServerAddress=mailaddress发送邮件的服务器jmail.AddRecipientEmail邮件的收件人jmail.SenderName=sender邮件发送者的姓名jmail.Sender=fromer邮件发送者的邮件地址jmail.Priority=1邮件的紧急程序,1为最快,5为最慢,3为默认值jmail.Subject=subject邮件的标题jmail.Body=content邮件的内容由于没有用到密抄跟抄送,这里屏蔽掉这两句,如果您有需要的话,可以在这里恢复jmail.AddRecipientBCCEmail密件收件人的地址jmail.AddRecipientCCEmail邮件抄送者的地址jmail.Execute()执行邮件发送jmail.Close关闭邮件对象EndSub调用此Sub的例子DimstrSubject,strEmail,strMailAdress,strSender,strContent,strFromerstrSubject=这是一封用JMAIL发送的测试邮件strContent=JMail组件发送测试成功!
strEmail=strFromer=strMailAddress=CallSendAction(strSubject,strMailaddress,strEmail,strSender,strContent,strFromer)%Setjmail=Server.CreateObject(JMAIL.SMTPMail)创建一个JMAIL对象jmail.silent=trueJMAIL不会抛出例外错误,返回的值为FALSE跟TRUEjmail.logging=true启用使用日志jmail.Charset=GB2312邮件文字的代码为简体中文jmail.ContentType=text/html邮件的格式为HTML的jmail.ServerAddress=ServerAddress发送邮件的服务器jmail.AddRecipientEmail邮件的收件人jmail.SenderName=SenderName邮件发送者的姓名jmail.Sender=EmailAddress邮件发送者的邮件地址jmail.Priority=1邮件的紧急程序,1为最快,5为最慢,3为默认值jmail.Subject=MailSubject邮件的标题jmail.Body=MailBody邮件的内容jmail.AddRecipientBCCEmail密件收件人的地址jmail.AddRecipientCCEmail邮件抄送者的地址jmail.Execute()执行邮件发送jmail.Close关闭邮件对象%w3Jmail4.3组件重新设计了其内部结构使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件,有些方法需要身份验证的(如163、yahoo等),可以用下面的方法解决:
%Setjmail=Server.CreateObject(JMAIL.Message)建立发送邮件的对象jmail.silent=true屏蔽例外错误,返回FALSE跟TRUE两值jmail.logging=true启用邮件日志jmail.Charset=GB2312邮件的文字编码为国标jmail.ContentType=text/html邮件的格式为HTML格式jmail.AddRecipientEmail邮件收件人的地址jmail.From=EmailFromforSender发件人的E-MAIL地址jmail.MailServerUserName=UserNameofEmail登录邮件服务器所需的用户名jmail.MailServerPassword=PasswordofEmail登录邮件服务器所需的密码jmail.Subject=MailSubject邮件的标题jmail.Body=MailBody邮件的内容jmail.Prority=1邮件的紧急程序,1为最快,5为最慢,3为默认值jmail.Send(ServerAddress)执行邮件发送(通过邮件服务器地址)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)-缺少loopMicrosoftVBscript编译器错误(0x800A03EA)-缺少if或endifMicrosoftVBscript编译器错误(0x800A03EE)-语句未结束(缺少)MicrosoftVBscript编译器错误(0x800A03F6)-if语句出错(缺少endif)MicrosoftVBscript运行时错误(0x800A005B)-缺少setMicrosoftVBscript运行时错误(0x800A0005)-变量未定义MicrosoftVBscript编译器错误(0x800A03F9)-if语句缺少thenMicrosoftVBscript编译器错误(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方法ThePhysicalpathtothisvirtualwebsiteis:
2.我如何知道使用者所用的浏览器?
答:
使用theRequestobject方法strBrowser=Request.ServerVariables(HTTP_USER_AGENT)IfInstr(strBrowser,MSIE)0ThenResponse.redirect(ForMSIEOnly.htm)ElseResponse.redirect(ForAll.htm)EndIf3.如何计算每天的平均反复访问人数答:
解决方法%startdate=DateDiff(d,Now,01/01/1990)ifstrdate显示结果thatisit.thispagehavebeenviewedsinceNovember10,19984.如何显示随机图象显示imgsrc=5.如何回到先前的页面答:
ahref=preivouspage或用图片如:
imgsrc=arrowback.gifalt=6.如何确定对方的IP地址答:
7.如何链结到一副图片上答:
8.强迫输入密码对话框答:
把这句话放载页面的开头9.如何传递变量从一页到另一页答:
用HIDDEN类型来传递变量inputnamee=type=HIDDENvalue=10.为何我在asp程序内使用msgbox,程序出错说没有权限答:
由于asp是服务器运行的,如果可以在服务器显示一个对话框,那么你只好等有人按了确定之后,你的程序才能继续执行,而一般服务器不会有人守着,所以微软不得不禁止这个函数,并胡乱告诉你(:
)呵呵)没有权限。
但是ASP和客户端脚本结合倒可以显示一个对话框,asfollows:
alert()11.有没有办法保护自己的源代码,不给人看到答:
可以去下载一个微软的WindowsscriptEncoder,它可以对asp的脚本和客户端javascript/vbscript脚本进行加密。
不过客户端加密后,只有ie5才能执行,服务器端脚本加密后,只有服务器上安装有scriptengine5(装一个ie5就有了)才能执行。
12.怎样才能将querystring从一个asp文件传送到另一个?
前者文件加入下句:
Response.Redirect(second.asp?
&
Request.ServerVariables(QUERY_STRING)13.global.asa文件总是不起作用?
只有web目录设置为webapplication,global.asa才有效,并且一个webapplication的根目录下global.asa才有效。
IIS4可以使用InternetServiceManager设置applicationsetting怎样才能使得htm文件如同asp文件一样可以执行脚本代码?
14.怎样才能使得htm文件如同asp文件一样可以执行脚本代码?
InternetSevicesManager-选择defaultwebsite-右鼠键-菜单属性-主目录-应用程序设置(ApplicationSetting)-点击按钮配置-appmapping-点击按钮Add-executablebrowse选择WINNTSYSTEM32INETSRVASP.DLLEXTENSION输入htmmethodexclusions输入PUT.DELETE全部确定即可。
但是值得注意的是这样对htm也要由asp.dll处理,效率将降低。
15.如何注册组件答:
有两种方法。
第一种方法:
手工注册DLL这种方法从IIs3.0一直使用到IIs4.0和其它的WebServer。
它需要你在命令行方式下来执行,进入到包含有DLL的目录,并输入:
regsvr32component_name.dll例如c:
tempregsvr32AspEmail.dll它会把dll的特定信息注册入服务器中的注册表中。
然后这个组件就可以在服务器上使用了,但是这个方法有一个缺陷。
当使用这种方法注册完毕组件后,该组件必须要相应的设置NT的匿名帐号有权限执行这个dll。
特别是一些组件需要读取注册表,所以,这个注册组件的方法仅仅是使用在服务器上没有MTS的情况下,要取消注册这个dll,使用:
regsvr32/uaspobject.dllexamplec:
tempregsvr32/uaneiodbc.dll第二种方法:
使用MTS(MicrosoftTransactionServer)MTS是IIS4新增特色,但是它提供了巨大的改进。
MTS允许你指定只有有特权的用户才能够访问组件,大大提高了网站服务器上的安全性设置。
在MTS上注册组件的步骤如下:
1)打开IIS管理控制台。
2)展开transactionserver,右键单击pkgsinstalled然后选择newpackage。
3)单击createanemptypackage。
4)给该包命名。
5)指定administrator帐号或则使用interactive(如果服务器经常是使用administrator登陆的话)。
6)现在使用右键单击你刚建立的那个包下面展开后的components。
选择newthencomponent。
7)选择installnewcomponent。
8)找到你的.dll文件然后选择next到完成。
要删除这个对象,只要选择它的图标,然后选择delete。
附注:
特别要注意第二种方法,它是用来调试自己编写组件的最好方法,而不必每次都需要重新启动机器了。
16.ASP与Access数据库连接:
17.ASP与SQL数据库连接:
建立记录集对象:
setrs=server.createobject(adodb.recordset)rs.openSQL语句,conn,3,218.SQL常用命令使用方法:
(1)数据记录筛选:
sql=select*from数据表where字段名=字段值orderby字段名descsql=select*from数据表where字段名like%字段值%orderby字段名descsql=selecttop10*from数据表where字段名orderby字段名descsql=select*from数据表where字段名in(值1,值2,值3)sql=select*from数据表where字段名between值1and值2
(2)更新数据记录:
sql=update数据表set字段名=字段值where条件表达式sql=update数据表set字段1=值1,字段2=值2字段n=值nwhere条件表达式(3)删除数据记录:
sql=deletefrom数据表where条件表达式sql=deletefrom数据表(将数据表所有记录删除)(4)添加数据记录:
sql=insertinto数据表(字段1,字段2,字段3)valuess(值1,值2,值3)sql=insertinto目标数据表select*from源数据表(把源数据表的记录添加到目标数据表)(5)数据记录统计函数:
AVG(字段名)得出一个表格栏平均值COUNT(*|字段名)对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名)取得一个表格栏最大的值MIN(字段名)取得一个表格栏最小的值SUM(字段名)把数据栏的值相加引用以上函数的方法:
sql=selectsum(字段名)as别名from数据表where条件表达式setrs=conn.excute(sql)用rs(别名)获取统的计值,其它函数运用同上。
(5)数据表的建立和删除:
CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)例:
CREATETABLEtab01(namevarchar(50),datetimedefaultnow()DROPTABLE数据表名称(永久性删除一个数据表)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更新数据表记录20Recordset对象方法Open方法recordset.OpenSource,ActiveConnection,CursorType,LockType,OptionsSourceRecordset对象可以通过Source属性来连接Command对象。
Source参数可以是一个Command对象名称、一段SQL命令、一个指定的数据表名称或是一个StoredProcedure。
假如省略这个参数,系统则采用Recordset对象的Source属性。
ActiveConnectionRecordset对象可以通过ActiveConnection属性来连接Connection对象。
这里的ActiveConnection可以是一个Connection对象或是一串包含数据库连接信息(ConnectionString)的字符串参数。
CursorTypeRecordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:
-常数常数值说明-adOpenForwardOnly0缺省值,启动一个只能向前移动的游标(ForwardOnly)。
adOpenKeyset1启动一个Keyset类型的游标。
adOpenDynamic2启动一个Dynamic类型的游标。
adOpenStatic3启动一个Static类型的游标。
-以上几个游标类型将直接影响到Recordset对象所有的属性和方法,以下列表说明他们之间的区别。
-Recordset属性adOpenForwardOnlyadOpenKeysetadOpenDynamicadOpenStatic-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方法并不适用于MicrosoftAccess数据库。
LockTypeRecordset对象Open方法的LockType参数表示要采用的Lock类型,如果忽略这个参数,那么系统会以Recordset对象的LockType属性为预设值。
LockType参数包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述如下:
-常数常数值说明-adLockReadOnly1缺省值,Recordset对象以只读方式启动