<input name="total" type="text" value="<%=webcounter%>" size="12" onbeforepaste="clipboarddata.setdata('text',clipboarddata.getdata('text').replace(/[^\d]/g,''))"
onkeydown="subOnKeyDown()"
onkeyup="value=value.replace(/[^\d]/g,'')"/>
使用后 如果输入为非数字 则输入无效 ......
1. ASP连接Access数据库语句
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("www/bbs.mdb")+";DefaultDir=;DRIVER={Microsoft
AccessDriver(*.mdb)};"
Conn.Open connstr
其中Set Conn=Server.CreateObject("ADODB.Connection")为建立一个访问数据的对象
server.mappath("www/bbs.mdb")是告诉服务器access 数据库访问的路径
2. ASP连接Sqlserver数据库语句
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open"driver={SQLServer};server=202.108.32.94;uid=wu77445;pwd=p780522;database=w
ww_panwei_com"
conn open
其中/Set conn = Server.CreateObject("ADODB.Connection")为设置一个数据库的连接对象
driver=()告诉连接的设备名是SQL-SERVER
server是连接的服务器的ip地址,Uid是指用户的用户名,pwd是指的用户的password,
database是用户数据库在服务器端的数据库的名称 ......
<%
dim db
set db=Server.CreateObject("Adodb.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.Mappath("../mdb/count.mdb")
dim strSql,rs,visitNum
strSql="Select visitNum from counter "
SET rs=db.Execute(strSql)
if session("again")="" then
If Not rs.Bof And Not rs.Eof Then
'如果记录集非空,表示已经有访问次数,则读取原有的访问次数加1
visitNum=rs("visitNum")+1
'更新数据库,将原有的访问次数加1
strSql="update counter set visitNum=visitNum+1 "
db.Execute(strSql)
Else
'如果记录集为空,表示这是第1位客户,则令访问次数为1
visitNum=1
'在数据库中插入一条记录,值为1
strSql="insert into counter ......
最简单的做法是在页面的<head></head>标签中加入以下代码:
<meta http-equiv="Refresh" content="10;url='xxx.asp'">
这样就会在页面打开后10秒钟跳转到xxx.asp了。
也可以用javascript的settimeout来完成,在页面中加入以下代码:
<script language=javascript>
var the_timeout = setTimeout("location='a.asp'",10000);
</script>
上面的代码完成同样的效果。 ......
VBS里,超出Integer类型的取值范围,该类型的取值范围为-32,768 到 32,767 之间的整数。
出错的根源:
在ASP里,有时候为了仿止注入,所以在接收参数的时候直接使用Cint函数把接过来的参数转换为Integer(数字)类型,这就存在一个潜在问题,当页面接收的某个参数(Request("xxx"))超过取值范围时(可简单理解为5位数字),就会发生此错误。这个是只有初级程序员会范的错误。
VBS里,超出Integer类型的取值范围,该类型的取值范围为-32,768 到 32,767 之间的整数。
cint范围 -32,768 到 32,767。 (5位整数)
clng范围 -2,147,483,648 到 2,147,483,647。
CCur范围 -922,337,203,685,477.5808 到 922,337,203,685,477.5807(15位数)
解决办法:
有两个方案:
一,快速解决方案,打开出错的页面,把所有的Cint函数换为CCur函数(用个字符替换软件,把Cint换为CCur)。转换后,取值范围将从-32,768 到 32,767 (5位整数)提升到-922,337,203,685,477.5808 到 922,337,203,685,477.5807(15位数),但此法也有潜在问题,如果接收数值超过15位,那也 ......
今天在用utf-8编码用在新的网站上,不想问题还真多,所以找了些文章,帖子,看了看,等下有用的就贴下面了。
今天,我开始把 CODEPAGE="936" 改成 CODEPAGE="65001"
把charset=gb2312改成 charset=utf-8
可是还是乱码,只要是脚本用的地方还是乱码,现在终于找到问题了,就是当脚本输出时候,要以utf-8编码输出。
就是要加一句<% Response.Charset = "utf-8" %>
①首先当然是页面本身用utf-8编码,在DW新建页时默认编码定为“Unicode(UTF-8)”
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001" %>
' ②CODEPAGE="65001" 告诉服务器页面使用UTF-8编码的
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
' ③charset=utf-8告诉浏览器页面使用UTF-8编码的
</head>
<body>
<% Response.Charset = "utf-8" %>
' ④服务器输出编码为utf-8
</body>
</html>
晕,事情还没有结束
刚开心,问题出来了,刷新后又变成乱码,或者浏览其他的gb2312的页面回来又乱码了。值得又去google了一下,呵呵,还是找到答案了
看看下面的文字,就知道了,所有在后来我加了这 ......