ASP常见问题及解答(10)

80酷酷网    80kuku.com

  解答|问题1.关于<table>折行:
<table fixed" width="200" border="0" cellspacing="0" cellpadding="7" bgcolor="#f7f7f7">
<tr>
<td 0px; WIDTH: 100%; WORD-WRAP: break-word">
dffadfdaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqsfdffadfdasfdffadfdasfdffadfdasfdffadfdasfdffadfdasfdffadfdasfdffadfdasfdffadfdasfdffadfdasf
</font></td>
</tr>
</table>

重点是"WORD-WRAP: break-word"把它去掉再看看就知道了.



2.批量录入在数据库的应用中比较广泛的,关于批量录入的方法也有好多种。
下面我就结合我实际中的应用,谈一下儿我是怎么实现的。
主要用到的是form的集合的概念,通过循环取的所有的集合内数据。
考虑到大家看着方便,我把它集成到了一个页面。
下面是具体的代码:
batchInput.asp
<%
'#####################################
'File Function:批量录入数据
'Author:Myhon
'Date:2003-8-19
'#####################################

'向数据库写入数据
SUB writeData()
dim recCnt,i
dim fieldName1,fieldName2,fieldName3
dim conn
dim sqlStr,connStr
connStr="Provider=SQLOLEDB.1;Initial Catalog=myDatabase;Data Source=myhon;User Id=sa;PASSWORD="
set conn=Server.CreateObject("ADODB.Connection")
conn.open connStr '建立数据库连接

recCnt=request.form("stu_num").count '取得共有多少条记录
'批量录入数据
for i=1 to recCnt
fieldName1=trim(request.form("fieldName1")(i))
fieldName2=trim(request.form("fieldName2")(i))
fieldName3=trim(request.form("fieldName3")(i))
sqlStr="insert into myTable(fieldName1,fieldName2,fieldName3) values('"
sqlStr=sqlStr & fieldName1 & "','"
sqlStr=sqlStr & fieldName2 & "','"
sqlStr=sqlStr & fieldName3 & "')"
'response.write sqlStr
conn.execute(sqlStr)
next
END SUB

'显示成批录入的界面
SUB InputData()
dim recCnt,i
%>
<form name="bathInputData" action="" method="post">
<%
recCnt=cint(request.form("recCnt"))
for i=1 to recCnt
%>
<input type="text" name="fieldName1">
<input type="text" name="fieldName2">
<input type="text" name="fieldName3">
<%
next
%>
<br/>
<input type="submit" name="action" value="提交">
</form>
<%
END SUB

'指定要批量录入多少条记录
SUB assignHowMuch()
%>

<!------指定要录入多少条记录-------------->
<form name="form1" action="" method="post">
您要录入的记录的条数:<input type="text" name="recCnt">
<input type="submit" name="action" value="下一步>>">
</form>
<%
END SUB

if request.form("action")="下一步>>" then
Call InputData() '显示成批录入界面
elseif request.form("action")="提交" then Call writeData() '向数据库批量写入数据
else
Call assignHowMuch() '显示指定录入多少条记录的界面
end if

%>



3.以动感下载系统为例:

打开文件 SoftDown.Asp 在:
if request.QueryString("ID")="" then
response.write "不能连接或者没有指定下载软件"
response.end
end if
的上面或者是下面加上下列代码

dim strReferer,domain,splDomain,isHttp
isHttp=false

'本站下载系统网址列表,不要带上http://
domain="sron.net,61.156.14.223,61.156.14.227"

splDomain=split(domain,",")
strReferer=Request.ServerVariables("HTTP_REFERER")
for iii = 0 to ubound(splDomain)
if instr(strReferer,trim(splDomain(iii)))>0 then isHttp=True
next
if isnull(strReferer) or isHttp=false then
Response.Write "下载链接来自其他网站,这是不允许的,<a href=""./"">请进入本站页面后再进行下载。</a>"
CloseDatabase
response.end
end if

本站下载系统网址列表 就是访问你下载频道网址里的域名,比如你的下载频道可以用多个网址来访问,所以这里用逗号隔开.



4.无法写入cookie的常见问题
1.确定你的response.cookie代码在第一个<html>之前
2.设置cookies的截止日期response.cookie("cookiename").expires = expiresdate;

设置cookie的请求指定路径:
就是说你的cookie写入后,指定路径中的页面才有权得到这个cookie
例如:指定路径response.cookie("cookiename").path = "http://www.domain.com/path"
那么只有path目录中的页面才能得到request.cookie("cookiename")

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: