注册 登录
编程论坛 ASP技术论坛

无组件上传图片,如何将图片路径写入数据库?

handveil 发布于 2009-10-25 21:58, 1582 次点击
我将图片上传到指定文件夹后,想把文件名写入数据库(sql server 2000。在网上搜索N遍后,还是没能解决。
部分代码如下:
ranNum=int(90000*rnd)+10000
filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt
if file.FileSize>0 then '如果 FileSize > 0 说明有文件数据
result=file.SaveToFile(Server.mappath("&filename&")) '保存文件 (这里是成功的。)

然后我想将该文件名写入数据库表1的字段pic
set rs=server.createobject("adodb.recordset")
sql="select pic from table1 where id="&clng(session("id"))
rs.open sql,conn,1,1

set rs1=server.createobject("adodb.recordset")
sql1="update table1 set pic='"&filename&"'  where id="&clng(session("id"))
rs1.open sql1,conn,1,1

set rs=nothing
set rs1=nothing
set conn=nothing

但运行后出错:
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。



请高手指教。
5 回复
#2
aspic2009-10-26 08:33
table1这个表有符合这个id的数据了没?
session("id")也有值吗
#3
handveil2009-10-27 10:18
以下是引用aspic在2009-10-26 08:33:48的发言:

table1这个表有符合这个id的数据了没?
session("id")也有值吗
table1中其它字段的数据都已经有了。只有pic字段为空。所以现在上传pic。

运行后我能成功将图片上传到指定文件夹,但不能将文件名写入数据库。数据库内pic字段为空。

我去掉rs.open sql,conn, 1,1 和rs1.open sql1,conn,1,1后,没有出现报错,但pic字段依然为空。
#4
aspic2009-10-27 10:45
程序代码:
ranNum=int(90000*rnd)+10000
filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt
if file.FileSize>0 thenresult=file.SaveToFile(Server.mappath("&filename&")) '保存文件

set rs=server.createobject("adodb.recordset")
sql="select pic from table1 where id="&clng(session("id"))
rs.open sql,conn,1,3
rs("pic") = filename
rs.update
rs.close
set rs = nothing
不用分两次搞吧 别复杂化了
或者
conn.execute("update table1 set pic = '"&filename&"' where id ="&clng(session("id")))
#5
chenguoxing5172009-10-27 13:09
读下session("id")看是否有值?

set rs1=server.createobject("adodb.recordset")
sql1="update table1 set pic='"&filename&"'  where id="&clng(session("id"))
rs1.open sql1,conn,1,1
改为
set rs1=server.createobject("adodb.recordset")
rs1.open "select * from table1 where id="&clng(session("id"))&"",conn,1,3
rs1.update
#6
aspic2009-10-27 13:33
session("id")没有值貌似会报错吧
1