关于上传文件的问题

linzhifeng 2003-09-12 11:43:58
我正在做一个新闻更新系统,但出了问题,错误提示如下:

Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft JET Database Engine 错误 '80004005'

操作必须使用一个可更新的查询。

/lbga/tj.asp,行17


原程序如下:

<%strcon="provider=microsoft.jet.oledb.4.0;data source="
strcon=strcon & server.mappath("xwxt.mdb")%>
<%set cona = server.createobject("adodb.connection")%>
<%cona.open strcon%>

<%set myrs=server.createobject("adodb.recordset")
myrs.cursorlocation=3%>

<%bt=request.form("bt")
rq=request.form("rq")
if rq=empty then rq=data
zw=request.form("zw")
%>

<%sqlsc="insert into xwxt values('bt','rq','zw')"%>
<%'cona.execute(sqlsc)%>
<%myrs.open sqlsc,cona,3,1%>


另外,怎么上传图片?
我在数据库中设了一个文本类字段,用于存放图片的路径,但怎么把图片传到服务器的指定位置?
...全文
98 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
damboo 2003-09-15
  • 打赏
  • 举报
回复
读取数据,用
bt=request("bt")
就可以了

另外:我不是你认识的那个淡泊,呵呵
damboo 2003-09-15
  • 打赏
  • 举报
回复
不是这个问题,是你的SQL语句写的不对

应该把
<%sqlsc="insert into xwxt(bt,rq,zw) values('bt','rq','zw')"%>
改成
<%
sqlsc="insert into xwxt(bt,rq,zw) values('" & bt & "','" & rq & "','" & zw & "')"
%>
linzhifeng 2003-09-15
  • 打赏
  • 举报
回复
淡泊知不知道怎么上传图片啊?
linzhifeng 2003-09-15
  • 打赏
  • 举报
回复
另外:SQL语句我也改过,但当时提示”bt不能为空“
linzhifeng 2003-09-15
  • 打赏
  • 举报
回复
那我再认识一个淡泊也不错:)

关键是两者有什么区别就?
coffee_cn 2003-09-12
  • 打赏
  • 举报
回复
sh.ce.net.cn/web8/tools/up.zip
wenbo_ying 2003-09-12
  • 打赏
  • 举报
回复
你在myrs.open里的SQL语句是insert了,这里只能是select的吧
tanguangzhang 2003-09-12
  • 打赏
  • 举报
回复
<%myrs.open sqlsc,cona,3,1%>
改为
<%myrs.open sqlsc,cona,3,3%>

试试行不行!
linzhifeng 2003-09-12
  • 打赏
  • 举报
回复
帮帮忙吧!
linzhifeng 2003-09-12
  • 打赏
  • 举报
回复
<%
bt=request.form("textfield")
rq=request.form("rq")
if rq=empty then rq=cstr(now())
zw=request.form("zw")
%>
是不是这一段有问题?
linzhifeng 2003-09-12
  • 打赏
  • 举报
回复
damboo(淡泊) 兄是不是快哉堂的淡泊兄啊?
linzhifeng 2003-09-12
  • 打赏
  • 举报
回复
老问题解决了,一是把数据库中的字段名改成了字母,二是将rq的类型由日期型改成文本型。

但新问题是:
添加到数据库的内容不是我在表单中输入的内容,而是变量的名字。


index.htm的源文件:

<html>
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="tj.asp" enctype="multipart/form-data">
<table border="0" width="75%" >
<tr>
<td valign=top width="8%">标题:</td>
<td valign=top align=left width="92%">
<input type="text" name="textfield">
</td>
</tr>
<tr>
<td valign=top width="8%">日期:</td>
<td valign=top align=left width="92%">
<input type="text" name="rq">
</td>
</tr>
<tr>
<td valign=top width="8%">正文:</td>
<td valign=top align=left width="92%">
<textarea name="zw" rows="8" cols="50">
</textarea>
</td>
</tr>
</table>
<p>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="reset" value="重写">
</p>
<p>  </p>
</form>
</body>
</html>



tj.asp的源文件:

<%strcon="provider=microsoft.jet.oledb.4.0;data source="
strcon=strcon & server.mappath("xwxt.mdb")%>
<%set cona = server.createobject("adodb.connection")%>
<%cona.open strcon%>

<%
set myrs=server.createobject("adodb.recordset")
myrs.cursorlocation=3
%>

<%
bt=request.form("textfield")
rq=request.form("rq")
if rq=empty then rq=cstr(now())
zw=request.form("zw")
%>

<%sqlsc="insert into xwxt(bt,rq,zw) values('bt','rq','zw')"%>

<% myrs.open sqlsc,cona,2,3 %>

<%=request.form("bt")%>

注:最后一行<%=request.form("bt")%>没有结果
damboo 2003-09-12
  • 打赏
  • 举报
回复
还可以参考下面的文章
-------------------------------------------
错误“操作必须使用一个可更新的查询”原因及解决办

错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Operation must use an
updateable query.
原因:
有几个主要的错误原因:
这个错误发生在当你的程序试图执行更新数据库或其它类似操作时。这是因为
ADO由于以下的几个原因而不能够写数据库造成的。
1。最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。
要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。
当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写 的权限,因为
Jet需要在该目录建立一个.ldb文件。
2。第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。
SQL = "UPDATE Products Set UnitPrice = 2;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3 '3 = adModeReadWrite
Conn.Open "myDSN"
Conn.Execute(SQL)
Conn.Close
注意默认的Mode是设置0(adModeUnknown),它是允许更新的。
3。还有可能是在ODBC管理器中将该DSN的只读选项选中。
4。你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新
这两个表中各自字段。
5。当你使用了一个从低版本中(如ACCESS2.0,ACCESS7.0)载入到高版本(ACCESS 2000)
中的查询时,在执行这个查询是会出现该错误
damboo 2003-09-12
  • 打赏
  • 举报
回复
操作必须使用一个可更新的查询,不一定是你程序的问题
而可能是没有更新的权限
你找到放数据库的目录
查看“文件属性->安全”
看看everyone的写权限是否打开了
linzhifeng 2003-09-12
  • 打赏
  • 举报
回复
到底是什么原因?
linzhifeng 2003-09-12
  • 打赏
  • 举报
回复
怎么在数据库中直接执行?

数据库中的数据可以读出来:
<%sqldc="select * from xwxt"%>
<% myrs.open sqldc,cona,2,3 %>
<% =myrs.fields("标题") %>
现在看来,是:
<%sqlsc="insert into xwxt values('bt','rq','zw')"%>
<%myrs.open sqlsc,cona,2,3%>
出了问题。

富察咪咪 2003-09-12
  • 打赏
  • 举报
回复
Response.Write sqlsc
把 sqlsc 打印出来,在数据库中直接执行看看。
linzhifeng 2003-09-12
  • 打赏
  • 举报
回复
错误信息已经贴出来了。
就在最上面
富察咪咪 2003-09-12
  • 打赏
  • 举报
回复
cona.execute(sqlsc)
为什么不行,把错误信息贴出来
linzhifeng 2003-09-12
  • 打赏
  • 举报
回复
把<%myrs.open sqlsc,cona,3,1%>
改为:<%myrs.open sqlsc,cona,3,3%>
或者:<%myrs.open sqlsc,cona,2,3%>
都不行,错误提示一样。


“操作必须使用一个可更新的查询。”是什么意思?

加载更多回复(2)

28,406

社区成员

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

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