CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

ASP为什么不能向Access中插入记录,急

楼主jhwangfei(程序员)2005-04-04 16:04:24 在 Web 开发 / ASP 提问

网页中显示错误信息:  
  错误类型:  
  Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80004005)  
  [Microsoft][ODBC   Microsoft   Access   Driver]   操作必须使用一个可更新的查询。  
   
  下面是代码  
  if   request("add")="1"   then  
  city=trim(request("city"))  
  cityno=trim(request("cityno"))  
  set   rs=cn.execute("select   *   from   t_cities   where   cityno='"&cityno&"'")  
  if   not   rs.eof   then  
  response.write("<script   language=javascript>alert('此ID已有,请输入别的城市号!');this.location='add.asp'</script>")  
  response.end()  
  end   if  
  cn.execute   "insert   into   t_cities   (city,cityno)   values   ('"&city&"','"&cityno&"')"  
  response.write("<script   language=javascript>alert('存储成功');this.location='add.asp'</script>")  
  end   if  
  可以查询数据库,但写数据库时就会报上面的错误 问题点数:100、回复次数:11Top

1 楼hbhbhbhbhb1021(天外水火(我要多努力))回复于 2005-04-04 16:08:55 得分 10

两种原因  
  1、数据库没设主键  
  2、登陆WINSOWS的用户名没有写入数据库权限,找到那个数据库文件右键属性安全保证你登陆WINDOWS的用户名下面的“写入”前面打钩,并且确定你的这个数据库文件的文件路径中没有只读的  
  在你的access文件或者mdb所在的文件夹上右键,属性-->安全-->添加-->everyone   完全控制   ok  
  Top

2 楼netter2003(我知道错了,以后我会及时结贴。)回复于 2005-04-04 16:33:56 得分 10

设不设主建应该没问题  
  可能是楼上所说的第二种情况  
  还有一种是  
  数据库出错了  
  我就遇到过(简单的插入语句,让我郁闷了大半天,原来是表烂了,我差点晕倒)  
  把原先的表删除了,再重新建一个Top

3 楼jhpxf(我是一是小小鸟,想要飞却飞不高。)回复于 2005-04-04 16:43:33 得分 10

操作必须使用一个可更新的查询。  
  说明错误一般是在数据库中,  
  楼上的两位差不多都说完了。  
  还有一种可能性是,你的数据库的表的字段设置了不能为空,但是你在写入数据的时候,却有一项或多项是空,这样的话,当然是写不进去的。Top

4 楼itzhiren(itzhiren)回复于 2005-04-04 16:45:04 得分 10

set   rs=cn.execute("select   *   from   t_cities   where   cityno='"&cityno&"'")  
   
  这一句最好改成:  
   
  set   rs=server.createobject("adodb.recordset")  
  rs.open   "select   *   from   t_cities   where   cityno='"&cityno&"'",conn,3,1Top

5 楼netter2003(我知道错了,以后我会及时结贴。)回复于 2005-04-04 16:49:49 得分 10

两种写法都是一个样的,同样达到较果Top

6 楼myvicy(我来也!)回复于 2005-04-04 16:55:16 得分 10

权限原因Top

7 楼jzywh(江大鱼)回复于 2005-04-04 16:55:21 得分 10

http://www.201ren.com/bbs/dispbbs.asp?boardID=36&ID=41345&page=1Top

8 楼QQgenie(妖魔鬼怪)回复于 2005-04-04 17:02:43 得分 10

可以查询数据库,但写数据库时就会报上面的错误  
   
  ---------------------------------------------  
   
  绝大多数是权限问题!Top

9 楼redstorm11(沙漠冰河)回复于 2005-04-04 17:03:01 得分 10

权限Top

10 楼ryuginka(一米八五的猪)回复于 2005-04-04 17:10:20 得分 5

是WIN2003吧?权限原因  
  Top

11 楼nova1980(新星-抵制日货)回复于 2005-04-04 17:10:27 得分 5

我遇到过这种问题,  
  就是数据库文件设置成了只读,请增加写的权限Top

相关问题

  • ASP+Access+IIS5,插入一条记录报错。。。
  • ASP+ACCESS,记录插入的奇怪问题
  • ASP:通过ADODB.Recordset向Access插入记录后,延时5秒后才能读出新插入的记录,Why?
  • access 库如何插入一条记录?
  • 如何在ACCESS中插入记录
  • access数据库插入记录
  • 插入记录
  • access中记录插入时是不是总在最后一行插入的?
  • Asp在SQL中插入记录的问题,急呀!
  • Asp在SQL中插入记录的问题,急呀!

关键词

  • 数据库
  • 文件
  • microsoft
  • cityno
  • 写入
  • 权限
  • cities
  • 错误
  • rs
  • execute

得分解答快速导航

  • 帖主:jhwangfei
  • hbhbhbhbhb1021
  • netter2003
  • jhpxf
  • itzhiren
  • netter2003
  • myvicy
  • jzywh
  • QQgenie
  • redstorm11
  • ryuginka
  • nova1980

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo