asp存储数据
‘壹’ ASP中的SESSION都可以储存何种类型数据
可以储存任何类型的数据,包括对象。比方说你可以把数据库连接对象赋值给一个session,那么在同一个session范围内的网页都可以共用这个对象而无需反复打开和连接数据库。要注意的是给对象变量赋值要用set,比如:
set session("x")=server.createobject("......")
也可以储存数组,比如:
Dim a(5)
a(0)=111
a(1)=222
.....
session("xxx")=a
调用方法:
b=session("xxx")
response.write b(0)
‘贰’ asp保存网页上的数据为txt的方法
<%
ifrequest("tj")<>""then
txt1=request("txt1")
txt2=request("txt2")
txt3=request("txt3")
txt4=request("txt4")
txt5=request("txt5")
setfso=server.createobject("scripting.filesystemobject")
setf=fso.opentextfile(server.mappath("_private"&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&".txt"),2,true)
f.writelinenow()
f.writelinetxt1
f.writelinetxt2
f.writelinetxt3
f.writelinetxt4
f.writelinetxt5
f.close
setf=nothing
setfso=nothing
%><script>alert("成功!")</script><%
endif
%>
<form>
<textareaname=txt1><%=txt1%></textarea><br>
<textareaname=txt2><%=txt2%></textarea><br>
<textareaname=txt3><%=txt3%></textarea><br>
<textareaname=txt4><%=txt4%></textarea><br>
<textareaname=txt5><%=txt5%></textarea><br>
<inputname=tjtype=submitvalue="提交">
</form>
‘叁’ ASP.NET中如何实现临时数据储存
首先给这些文件重命名,考虑不同用户,在SESSION中取出用户名假设是USER001,将上传文件的文件重命名为USER001_1.XXX、USER001_2.XXX等等,可以在站点专门设个文件夹来放。
接着,读文件中写入页面,根据文件格式不同,方法不同。
最后,写入数据库。
‘肆’ ASP读取存储数据库信息
连接数据库代码
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};uid=;pwd=;dbq="&server.mappath("xxx.mdb")
其中xxx.mdb表示你的数据库名称
建立记录集
set rs=server.createobject("adodb.recordset")
sql="select * from xxx"
rs.open sql,conn,1,1
如果是要添加或者修改数据,那么就改成
rs.open sql,conn,1,3
其中xxx表示你数据库中的某个表
读取数据库
rs("字段名")
修改数据库
rs.addnew
rs("字段名")=你要添加的内容
.....
rs.update
如果你是从上一个页面的文本框后的内容,那么先用request.form("文本框名称")获得提交内容,然后
rs.addnew
rs("字段名")=request.form("文本框名称")
.....
rs.update
这样就可以添加了
如果是修改的话
sql要写成
sql="select * from xxx where 字段名=你要修改的字段的名称,比如说where id=1这样"
rs.open sql,conn,1,3
注意这里就不要用rs.addnew了
直接
rs("字段名")=request.form("文本框名称")
.....
rs.update
这样就修改了数据。
‘伍’ asp、php、jsp利用数据库存储10000次数据怎么实现
以PHP为例:
<?php
var
$host;
//mysql定义主机名
var
$user;
//mysql用户名
var
$passwd;
//密码
var
$database;//数据库名
var
$conn;
//连接对像
$conn=mysql_connect($host,
$user,$passwd);//打开服务器
mysql_select_db($database,$conn);//选择数据库
var
$account
=
1;
var
$pwd
=
'123456';
var
$sex
=
'1';
var
$email
=
'[email protected]';
for($i
=
0;$i<10000;$i++){
$res
=
mysql_query("insert
into
user(account,pwd,email,sex,regtime)
values
($account,$pwd,$email,$sex,now())");
account++;
}
?>
这样应该就可以插入10000数据了,在制作数据库时,创一列自增列设为主键,或者或者可以把account设为主键也可以,还是自增列设为主键比较规范
‘陆’ asp数据存储问题
复制下去试试:
<%
sj=cdate(Request("textfield"))
Response.Write(cstr(sj)+"<br>")
zcxm=cstr(Request("textfield2"))
Response.Write(cstr(zcxm)+"<br>")
je=clng(Request("textfield3"))
Response.Write(cstr(je)+"<br>")
bz=cstr(Request("textfield4"))
Response.Write(cstr(bz)+"<br>")
set df =server.CreateObject ("adodb.recordset")
df.open "select * from 收支表",conn,1,3
df.addnew
df("时间")=sj
df("支出项目")=zcxm
df("金额")=je
df("备注")=bz
df.update
df.close
conn.close
%>
‘柒’ asp 怎样上传Excel文件后把数据存储在数据库
将excel数据通过asp导入数据库:
参考代码:
wenjian=request.Form("floor")
fileext=mid(wenjian,InStrRev(wenjian,".")+1)
if lcase(fileext)<>"xls" then
response.write "<script>alert ('文件格式不对,请上传Excel文件');window.location.href='updateFloor.asp';</script>"
response.end
end if
set conne=server.CreateObject("ADODB.Connection")
‘捌’ 在ASP中,如何把图片和文字同时保存到数据库中,并在需要时同时输出。
假设有这样一个表单。
<form id="myform" enctype="multipart/form-data" action="upload.asp" method="post">
<input type="file" name="file1"><!-用于提交文件,既图片文件-->
<input type="text" name="mytext"><!-用于提交文字信息-->
<input type="submit" name="tj" value="提交"><!--表单提交按钮-->
</form>
表单能提交图片,也能提交文字。内容提交到upload.asp去处理。下面是upload.asp里面的部分内容。
<%Response.Charset="utf-8"%>
<%
'查询字符串thisstr2在字符串thisstr1里面第N次出现的位置,如果没有出现,返回空。
'这个函数也很有用。比如获得文件名的时候,文件名 name="file1" filename="abc.jpg",先二进制转文本,然后找到双引号第三次出现的位置和第四次出现的位置,两个位置中间的内容就是文件名,还可以得到文件的扩展名"jpg"
function strN(thisN,thisstr1,thisstr2)
thistemp=1
for thiss=1 to len(thisstr1)
thisdatastart=instr(thistemp,thisstr1,thisstr2)
if thisdatastart=0 or thisdatastart=null then
exit for
end if
if thisdatastart<>0 or thisdatastart<>null then
thistemp=thisdatastart+len(thisstr2)
thiscishu=thiscishu+1
if thiscishu=thisN then
strN=thisdatastart
exit for
end if
end if
next
if thiscishu<thisN then
strN=""
end if
end function
'查询二进制数据流thisstr2在thisstr1里面出现的次数。这个函数在已知表单提交信息条数的情况下就用不到。但如果是表单提交的信息条数未知,比如批量上传图片的时候,不知道有多少个type="file"的input,就需要用这个函数先判断一下。既判断分割符在提交数据里面出现的次数。出现了n次则有n-1条数据提交。
function mynumberb(thisstr1,thisstr2)
thistemp=1
for thisn=1 to len(thisstr1)
thisdatastart=instrb(thistemp,thisstr1,thisstr2)
if thisdatastart=0 or thisdatastart=null then
exit for
end if
if thisdatastart<>0 or thisdatastart<>null then
thistemp=thisdatastart+len(thisstr2)
thiscishu=thiscishu+1
end if
next
mynumberb=thiscishu
end function
'查询二进制数据流thisstr2在thisstr1里面第thisN次出现的位置,如果没有出现,返回空。
'这个函数很有用,比如表单传过来的数据都是用回车换行符号隔开的。只需要查询回车换行符号第4次出现的位置和第五次出现的位置,就能找到文件二进制数据开始和结束的位置。如果表单发送过来的是文本信息,只需要找到回车换行符号第三次出现的位置和第四次出现的位置,就能找到文本的二进制数据。然后二进制转文本,就提取出文本内容了。
function strNb(thisN,thisstr1,thisstr2)
thistemp=1
for thiss=1 to len(thisstr1)
thisdatastart=instrb(thistemp,thisstr1,thisstr2)
if thisdatastart=0 or thisdatastart=null then
exit for
end if
if thisdatastart<>0 or thisdatastart<>null then
thistemp=thisdatastart+len(thisstr2)
thiscishu=thiscishu+1
if thiscishu=thisN then
strNb=thisdatastart
exit for
end if
end if
next
if thiscishu<thisN then
strNb=""
end if
end function
'二进制转文本
Function stb(vin)
const adTypeText=2
dim BytesStream,StringReturn
Set BytesStream=Server.CreateObject("ADODB.Stream")
with BytesStream
BytesStream.Type=adTypeText
BytesStream.Open
BytesStream.WriteText vin
BytesStream.Position=0
BytesStream.Charset="utf-8"
BytesStream.Position=2
StringReturn=BytesStream.ReadText
BytesStream.Close
end with
set BytesStream=Nothing
stb=StringReturn
end function
'以上几个函数介绍完毕。接下来就是实际处理表单提交的信息了。
response.buffer=true
formsize=request.totalbytes
formdata=request.binaryread(formsize)
hcf=chrB(13)&chrB(10)'回车换行符号
fgf=leftB(formdata,clng(instrb(formdata,hcf))-1)'分隔符
cd=lenb(fgf)'分割符的长度
'截取第一条数据,既文件数据。
mydatastart=strnb(1,formdata,fgf)+cd
mydataend=strnb(2,formdata,fgf)-1
mydatasize=mydataend-mydatastart+1
formdata1=midb(formdata,mydatastart,mydatasize)'第一条提交的数据信息,既第一个type=file的图片文件
'得到文件的名字
mytempdata=stb(formdata1)
mydatastart=strn(3,mytempdata,"""")+1'双引号第三次出现的位置加1就是文件名出现的开始位置
mydataend=strn(4,mytempdata,"""")-1'双引号第四次出现的位置就是文件名结束的位置
mydatasize=mydataend-mydatastart+1
wjfilename=mid(mytempdata,mydatastart,mydatasize)'得到文件名字,就是提交的那个图片的名字,比如"myimg.jpg"
'截取图片文件的二进制数据
mydatastart=strnb(4,formdata1,hcf)+2'回车符号第四次出现的位置加2就是图片文件的二进制数据开始的位置
mydataend=strnb(5,formdata1,hcf)-1'回车符号第五次出现的位置减1就是图片二进制数据结束的位置
mydatasize=mydataend-mydatastart+1'图片文件二进制数据的长度
wjdata=midb(formdata1,mydatastart,mydatasize)'得到图片文件的二进制数据
'截取第二条数据,既截取提交的文本二进制数据
mydatastart=strnb(2,formdata,fgf)+cd
mydataend=strnb(3,formdata,fgf)-1
mydatasize=mydataend-mydatastart+1
formdata2=midb(formdata,mydatastart,mydatasize)'第二条提交的数据信息,既提交的文字信息。
'提取文本
mydatastart=strnb(3,formdata2,hcf)+2
mydataend=strnb(4,formdata2,hcf)-1
mydatasize=mydataend-mydatastart+1
wbdata=midb(formdata2,mydatastart,mydatasize)
wb=stb(wbdata)
'到此,表单信息全部接收完毕。
'wjfilename:文件名。
'wjdata:文件二进制数据。
'wb:文字信息。
'下面要做的就是把文本信息存入数据库。把文件的二进制数据转换成图片存入文件夹,也可以直接二进制数据存放到数据库里面。
'至于怎么存放路径等一系列问题,这些都是简单问题。最难啃的骨头已经啃完了。
'文件信息存入文件夹提供一种思路,这种思路比较简单。
'access里面的temp字段是存储二进制数据的,表名也叫temp
'call conn_open(conn,"xxx.mdb")打开access
'sql="select * from temp"
'call rs_open3(rs,sql)打开表
' rs.addnew
' rs("temp").appendchunk wjdata
' rs.update
' Set MyStream=Server.CreateObject("Adodb.Stream")
' MyStream.Type=1
' MyStream.Open
' MyStream.Write rs("temp").getChunk(8000000) 把数据库里面的图片读出来
'得到图片上传的日期时间连接1到1000之间的随机数做图片的名字,把时间里面的左斜杠,冒号以及空格都替换掉。
' picName=replace(now(),"/","")
' picName=replace(picName,":","")
' Randomize
' picName=replace(picName," ","")&Int((1000 * Rnd) + 1)
' MyStream.SaveToFile server.mappath("img/"&picName&".jpg")
'把图片存入目录,注意,这里如果事先前端做了判'断用户提交的图片就必定是"jpg"格式,所以可以直接用。如果前端没做判断,就用刚'才得到的split(wjfilename,".")(1)作为扩展名。这玩意儿能看懂吧,wjfilename里面保存的是图片名字"abcd.jpg",用"."分割,
'后面的那个就是"jpg"图片扩展名
' MyStream.close
' set MyStream=nothing
'call rs_close(rs)关闭表
'call conn_close(conn)关闭access
%>
以上提供的思路既然可以图片文字一起提交,也可以在不知道表单提交数据条数的情况下批量混合提交图片和文字信息。原理是死的,人的思路是活的。活学活用最好。
‘玖’ ASP批理存储数据
1.检查num1(i)数组大小是否正确:单独输出一次测试一下,
2.仔细检查字段名称是否正确,看看数据表里面有没有这个字段名称
‘拾’ asp怎样保存接收来的数据到一个文件啊
您好,我来为您解答:
大部分的下载都是这样的,数据库存储位置路径链接,实际文件存储在指定文件夹中。
使用一个文件上传类,网络一下很多,也有实例。
希望我的回答对你有帮助。