逐梦论坛's Archiver

oneeo 发表于 2007-6-21 16:09

[分享]个人做网站的经验,欢迎进来讨论!

个人做网站的经验,欢迎进来讨论!


1.几个常用函数
round(pi, 2) 四舍五入

formatnumber(k,4) ' 把 k 格式化为带四位小数点的数。
eg. 如果k =20000则显示为20,000.00;如果把formatnumber(k,0)则为20,000

replace(expression,find,replacewith) '返回一字符串,其中指定的子串已被另一个子串替换

left(string,length) '返回指定数目的从字符串的左边算起的字符串。

split(expression[, delimiter[, count[, start]]]) '返回基于 0 的一维数组,其中包含指定数目的子字符串。
eg. 常用这个 split(string,[delimiter]) ' 用delimiter(用于标识子字符串界限的字符)来划分字符串

instr(string1,string2) '返回某字符串在另一字符串中第一次出现的位置
eg1. if instr(addation,"密码配置表")<>0 then '说明存在
eg2. if instr(str,”ap”) >0 不好区分str = (ap,ap&ac),此时只要变为(’ap’,’ap&ac’),再用instr(str,”’ap’”)
2. 弹出窗口pick值

function pickupsp(spdisid,pjnum,pdcode)
{
window.opener.<%=theform%>.refnum<%=spid%>.value=spdisid;
window.opener.<%=theform%>.lines<%=spid%>.value=pjnum;
window.opener.<%=theform%>.kokey<%=spid%>.value=pdcode;
window.close();
}
3. asp控制图片显示的大小(等比例缩放)
<html>
<head>
<title> new document </title>
<script language="javascript">
<!--
var flag=false;
function drawimage(imgd){
var image=new image();
image.src=imgd.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>= 164/112){
if(image.width>164){
imgd.width=164;
imgd.height=(image.height*164)/image.width;
}else{
imgd.width=image.width;
imgd.height=image.height;
}
imgd.alt=image.width+"x"+image.height;
}
else{
if(image.height>112){
imgd.height=112;
imgd.width=(image.width*112)/image.height;
}else{
imgd.width=image.width;
imgd.height=image.height;
}
imgd.alt=image.width+"x"+image.height;
}
}
}
//-->
</script>
</head>
<body>
<a href="./img.jpg" target="_blank"><img src="./img.jpg" border="0" width="164" height="112" onload="javascript:drawimage(this);"></a>
</body>
</html>
4. asp中对数据库表的操作(insert/update/delete),可使用事务处理,并支持多事务处理.
在asp的数据库对象链接对象中,提供了一下属性:
begintrans 事务开始
committrans 事务提交
rollbacktrans 事务回滚
<%
on error resume next ’错误发生后继续处理
'asp中使用事务
set conn=server.createobject("adodb.connection")
conn.open "course_dsn","course_user","course_password"
conn.begintrans '开始事务
sql="delete from user_info"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,3
if conn.errors.count>0 then '有错误发生
conn.rollbacktrans '回滚
set rs=nothing
conn.close
set conn=nothing
response.write "交易失败,回滚至修改前的状态!"
response.end
else
conn.committrans '提交事务
set rs=nothing
conn.close
set conn=nothing
response.write "交易成功!"
response.end
end if
%>
在asp中,不提供事务的结束,begintrans只作用于自己的域,类似于变量声明一样,如果在函数体内begintrans,则事物只作用于本函数体,如果begintrans在函数体外,处于页面级,则事务的作用域从begintrans开始,到页面的结束均处于事务的管理状态下.

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.