救救我吧!!吐血大给分!用asp怎么也写不进去access2000!!我都调了2天啦!大哥大姐们进来帮忙啊!!!

blueye 2002-03-18 09:44:37
我用下面的程序写不进去access2000:<html>
<body>
<%
set conn=server.createobject("adodb.connection")
filePath = Server.MapPath("zgr.mdb")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
set rsadd=server.createobject("adodb.recordset")
application.lock
rsadd.open "zgr",conn,3,3
if rsadd.eof=true then
rsadd.movelast
end if
rsadd.addnew
rsadd("one")=now
rsadd("two")=now
rsadd("three")=now
rsadd.update
application.unlock
rsadd.close
conn.close
%>
</body>
</html>
提示错误:Microsoft JET Database Engine (0x80040E09)
/new/a.asp, 第 13 行
浏览器类型:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

而用下面的程序可以查询出数据:
<html>
<body>
<%set conn=server.createobject("adodb.connection")
filePath1 = Server.MapPath("zgr.mdb")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath1
sl="select one,two,three from zgr"
set rs=server.createobject("adodb.recordset")
rs.open sl,conn,3,2
%>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="15%"></td>
<td width="70%">
<p align="center"><h4><b><font color="#ff0000">totalpages:</font></h4></b></p>
<p align="center"><font face="隶书" size="6" color="#ff0000">查询结果</font></p>
<table border="2" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="center" width="11%"><font color="#ff0000"><b>序号</b></font></td>
<td align="center" width="11%"><font color="#ff0000"><b>书名</b></font></td>
<td align="center" width="11%"><font color="#ff0000"><b>类别</b></font></td>

</tr>
<%
rowcount=rs.pagesize
do while not rs.eof and rowcount>0
%>
<tr>
<%for i=0 to 2%>
<td align="center" align="left" width="11%"><%=rs(i)%></td>
<%next%>
</tr>
<%
rowcount=rowcount-1
rs.movenext
loop
set rs=nothing
%>
</table><br>
</body>
</html>

是什么原因啊,各位大哥大姐,拉兄弟一把吧,吐血大给分!!!!

...全文
38 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
chy018 2002-03-19
  • 打赏
  • 举报
回复
rsadd.open "zgr",conn,,3,3

this is the right answer !
julyclyde 2002-03-19
  • 打赏
  • 举报
回复
其实就是字段类型不对而已。没有那么复杂
blueye 2002-03-19
  • 打赏
  • 举报
回复
add的addnew不好使,能同样的连接方法能显示数据库zgr.mdb中的zgr表中的数据,却不能用同样的方法写入,出错为addnew语句。我只想用addnew向access2000中写入数据,不想用sql,程序需要的原因。在帮我想想办法。
谢谢啦!!!!!
纪俊 2002-03-19
  • 打赏
  • 举报
回复
数据库的属性不能为只读
rsadd.open "zgr",conn,3,3
的参数改为1,3
数据库不能被别的程序独占。
sichuanwww 2002-03-19
  • 打赏
  • 举报
回复
首先考虑数据库的连接问题,添加可以考虑用ADO的ADDNEW。
flyukeer 2002-03-19
  • 打赏
  • 举报
回复
把你的程序改成如下,使用sql语句写数据库比较方便,而且不受数据库版本限制,你使用的方法可能是iis5.0不支持的数据库,就像如果在vb6下用你那种方法不能操作access2000的数据库,而用sql语句就可以了。
<%
set conn=server.createobject("adodb.connection")
filePath = Server.MapPath("zgr.mdb")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
set rsadd=server.createobject("adodb.recordset")
application.lock
sql="insert into [zgr] (one,two,three) values (#" & now() & "#,#" & now() & "#,#" & now() & "#)"
conn.execute sql
application.unlock
set rsadd=nothing
set conn=nothing
%>
WhiteRiver 2002-03-19
  • 打赏
  • 举报
回复
把 access数据库文件所在目录 和 该数据库文件 的安全性设置 中

IUSER_MACHINENAME,的权限设为可写
老翔 2002-03-19
  • 打赏
  • 举报
回复
你的Access里有口令和权限设置吗?
老翔 2002-03-19
  • 打赏
  • 举报
回复
你access里有口令和权限设置吗?
QSQ99 2002-03-19
  • 打赏
  • 举报
回复
下载最新的数据库提供者Microsoft JET Database Engine
或者就用ADO联接吧,效率会好一点
playmud 2002-03-19
  • 打赏
  • 举报
回复
rsadd("one")=date()
rsadd("two")=date()
rsadd("three")=date()

tripofdream 2002-03-19
  • 打赏
  • 举报
回复
zgr是表还是ACCESS中的查询?
chenccj 2002-03-19
  • 打赏
  • 举报
回复
我认为问题出在如下几句上:
rsadd("one")=now
rsadd("two")=now
rsadd("three")=now
如果是时间,应该写成:
rsadd("one")="#"&now&"#"
rsadd("two")="#"&now&"#"
rsadd("three")="#"&now&"#"

你试一下看看如何?
ruirui521 2002-03-19
  • 打赏
  • 举报
回复
谁说的pessimism lock不能写?说这个话的人有没有点数据库的常识性知识?
关于数据库的强占式体系再去看看吧。
写不了数据库的原因很多,看看你的子段的约束,或者做的时候access是不是已经打开了表。
esky2000 2002-03-19
  • 打赏
  • 举报
回复
rsadd.open "zgr",conn,1,3
蓝诺 2002-03-19
  • 打赏
  • 举报
回复
insert into 表 set dd="dd" [where aa=1]
这样比较好。
希偌 2002-03-19
  • 打赏
  • 举报
回复
rsadd.open "zgr",conn,3,3
-->
rsadd.open "select * from zgr order by id desc",conn,1,3
****************
rsadd.update
-->
rsadd.updatebatch
julyclyde 2002-03-19
  • 打赏
  • 举报
回复
faint!
那你怎么连接上去的
blueye 2002-03-19
  • 打赏
  • 举报
回复
经过上面的试验,依然没有写入啊。看来只有找个旮旯去哭啦!!!!
呜~~~~~~~~~~~~>_<~~~~~~~~~~~~~~~~~
blueye 2002-03-19
  • 打赏
  • 举报
回复
十二万分的谢各位热心朋友!!!感谢你们在我泪要干心要死的时候 ,抓住我那不堪一击的神经!!!
"结帖,放分!!"
感谢程序员网站让我们能在枯燥的代码中找到欢愉!!找到帮助!!
最后把问题解决的方法拿出来,供大家参考,分享我的快乐:
我用的是win2000,iis5,
导制不可写的原因是:
asp文件所在的文件夹的属性的安全页里没有添加用户
IUSR_PBSTUDIO-9O7EZA。
添加此用户后变成internet 来宾帐号,然后把其权限的写入选中
就行啦 :)太高兴啦。。。希望这个经验能让依旧和我一样困惑的
哥们,姐们们能别在走弯路啦。。。
再次表示感谢!!!!!!!
谢谢啦!!!谢谢啦!!!!



加载更多回复(7)

28,406

社区成员

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

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