为什么文字字段没有存入数据库?---分不够可以再加!!!

asp_sql 2002-07-09 08:18:36
我用lyfupload组件把文字和图片的同时存入数据库,我用的是access,结构如下:
text1 text2 text3 pic
char char char ole
text1 text2 text3 pic(为各变量名)
我在提交时,不知道如何同时将文字和图片都存入数据库。有一段代码:
rs.addnew
rs("name")=trim(aa)
rs("text1")=text1
rs("text2")=text2
rs("text3")=text3
rs("pic").AppendChunk obj.DBContent
rs.Update
rs.movelast
但是网页数据中只有图像上传而其余字段没有上传,请问如何改代码?
...全文
100 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
asp_sql 2002-07-10
  • 打赏
  • 举报
回复
sayyes2002:
如何两张页面,一张传图片,一张传文字?
我用的是lyfupload组件
marf_cn 2002-07-10
  • 打赏
  • 举报
回复
rs("text1")=text1
--------
这样给变量赋值:
text1=rs("text1")
sayyes2002 2002-07-10
  • 打赏
  • 举报
回复
由于图片上传采用了二位流的方式,所以无法传递文字,按照传图片的方式可以将英文字符传入,如果室汉字旧不行了,
建议你做两张页面,一张传图片,一张传文字就可以了
hchxxzx 2002-07-10
  • 打赏
  • 举报
回复
花了一点时间写了简单的上传程序,给你吧
数据库结构(ACESS)
id,picname,pic,types,mc
自动编号,文件名,OLE字段存放文档,文档MIME类型,文本框文字部分

pic.asp

<html>
<head>
<title>上传文档与文字到ACESS数据库中</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<div align="center">上传文档与文字到ACESS数据库中
<form name="form1" method="post" action="pic_bc.asp" enctype="multipart/form-data">
<p>文档名称
<input type="text" name="mc">
</p>
<p>文件
<input type="file" name="pic">
</p>
<p>
<input type="submit" name="Submit" value="提交">
</p>
</form>
</div>
</body>
</html>


pic_bc.asp

<%
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & server.MapPath("../winpy.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")

Set obj = Server.CreateObject("LyfUpload.UploadFile")
pic=obj.SaveFiletodb("pic") '保存文件到服务器
types=obj.filetype("pic") '得到文件的Content-Type
mc=obj.request("mc")

rs.open "select * from pic where 1=2",cn,1,3
rs.AddNew
rs("mc")=mc '文本框名
rs("picname")=pic '此文件名
rs("pic").AppendChunk obj.DBContent 'BLOB数据不能直接赋值,写入文件至数据库
rs("types")=types '取得此文件MIME类型
rs.Update
rs.update
rs.Close
%>

较为简单,没有加入除错,但一点问题也没有。
hchxxzx 2002-07-10
  • 打赏
  • 举报
回复
花了一点时间写了简单的上传程序,给你吧
数据库结构(ACESS)
id,picname,pic,types,mc
自动编号,文件名,OLE字段存放文档,文档MIME类型,文本框文字部分

pic.asp

<html>
<head>
<title>上传文档与文字到ACESS数据库中</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<div align="center">上传文档与文字到ACESS数据库中
<form name="form1" method="post" action="pic_bc.asp" enctype="multipart/form-data">
<p>文档名称
<input type="text" name="mc">
</p>
<p>文件
<input type="file" name="pic">
</p>
<p>
<input type="submit" name="Submit" value="提交">
</p>
</form>
</div>
</body>
</html>


pic_bc.asp

<%
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & server.MapPath("../winpy.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")

Set obj = Server.CreateObject("LyfUpload.UploadFile")
pic=obj.SaveFiletodb("pic") '保存文件到服务器
types=obj.filetype("pic") '得到文件的Content-Type
mc=obj.request("mc")

rs.open "select * from pic where 1=2",cn,1,3
rs.AddNew
rs("mc")=mc '文本框名
rs("picname")=pic '此文件名
rs("pic").AppendChunk obj.DBContent 'BLOB数据不能直接赋值,写入文件至数据库
rs("types")=types '取得此文件MIME类型
rs.Update
rs.update
rs.Close
%>

较为简单,没有加入除错,但一点问题也没有。
asp_sql 2002-07-09
  • 打赏
  • 举报
回复
楼上的兄弟:
我用的是demo6.asp,自己改变过的代码,数据库中同时有图片和其他字段,想同时上传文字到数据库中的字段,但一直没有实现,请教如何使用?示范源代码?
hchxxzx 2002-07-09
  • 打赏
  • 举报
回复
图像和文字不能同时传递?????
没那回事,我长期用这个上传组件,从来没有碰到这样的事
下面这是原组件DEMO5.ASP的内容,请仔细看看

<%@Language=VBScript %>
<%on error resume next
'设置数据库链接
strConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("new.mdb")
session("strconn")=strConn
Set dbc = Server.CreateObject("ADODB.Connection")
dbc.open strConn
set rs=server.CreateObject("adodb.recordset")
rs.Open "SELECT * FROM product",dbc,1,3
%>
<HTML>
<BODY>
<%
Set obj = Server.CreateObject("LyfUpload.UploadFile")
'obj.maxsize=2048 '设置文件上传的最大为2048个字节(2K)
obj.extname="doc"
txt = obj.request("text1") '得到form元素的值
Response.Write( "文本框1的输入值是: " & txt)
Response.Write "<br>"
ss=obj.SaveFiletodb("file1") '保存文件到服务器
aa=obj.filetype("file1") '得到文件的Content-Type

if ss= "" then
Response.Write ("文件上传失败!")
elseif ss= "0" then
Response.Write ("文件尺寸过大!")
elseif ss= "1" then
Response.Write ("文件不是doc文件!")
else
'----文件上载到数据库中---------
rs.AddNew
rs("name")=trim(aa)
rs("pic").AppendChunk obj.DBContent'BLOB数据不能直接赋值
rs.Update
rs.movelast
session("ID")=rs("ID")
rs.Close
dbc.Close
set rs=nothing
set dbc=nothing
'------------------------------上载到数据库中结束
Response.Write "选择的文件已经上载到服务器!<br>"
Response.Write("文件名:" & ss)
Response.Write("<br>Content-Type:" & aa) '得到Content-Type
Response.Write("文件大小:" & obj.FileSize)
end if

obj.about '关于LyfUploa1.2
%>
<br>
<a href="doctest.asp?ID=<%=session("ID")%>">点击此处下载上传后的DOC文件!</a>
</BODY >
</html>



asp_sql 2002-07-09
  • 打赏
  • 举报
回复
用其它的字符也不行,如果不同时传递,如何传递?
ehom 2002-07-09
  • 打赏
  • 举报
回复
图像和文字不能同时传递
qisanyou 2002-07-09
  • 打赏
  • 举报
回复
那就试试不用text为名,用其它什么乱七八糟的什么字符,呵呵。
asp_sql 2002-07-09
  • 打赏
  • 举报
回复
图片已经传入了,我看过数据库,可以显示出来。
文字部分还是不能传入
我只能用这一个页面同时传入文字和图片,如果把
rs("text1")=text1
rs("text2")=text2
rs("text3")=text3
改为
rs("text1")="a"
rs("text2")="b"
rs("text3")="c"
只能存入字段值的文字为a,b,c
而不能传入我在前一个表单输入的内容,没办法传入变量text1,text2,text3
如果改为:
text1=request.form("text1")
text2=request.form("text2")
text3=request.form("text3")
rs("text1")=text1
rs("text2")=text2
rs("text3")=text3
这显示错误
如何改?
ar7_top 2002-07-09
  • 打赏
  • 举报
回复
先确定图片是否已经传入了
qisanyou 2002-07-09
  • 打赏
  • 举报
回复
分成两个页面试试,一个页面是上传文字的,另一个页面是上传图片到数据库的.

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧