我的ASP网页中有一段向数据库插入一条记录的代码如下:set rs=server.CreateObject(" cordset")rs.Open "select * from formname",conn,1,3rs.AddNewrs("field1")=trim(request("one"))rs("field2")=trim(request("two"))....rs.Update上面的这段代码在有的机器上运行非常正常。而在有的机器上运行到rs.AddNew这一行时在浏览器中显示如下错误:HTTP 错误 500.100 - 内部服务器错误 - ASP 错误Internet 信息服务技术信息(用于支持人员)错误类型:Microsoft JET Database Engine (0x80040E09)不能更新。数据库或对象为只读。而将上述代码改成:set rs=server.CreateObject(" cordset")sql="insert into formname (field1,field2) values ("&request("one")&","&request("two")cn.Open conncn.Execute(sql)这段代码在任何机器上都正确运行。当数据库的表中的字段较多时第二种方法显得语句冗长,第一种方法较为简练,请高手指点一下,如何设置或者写代码,使得第一种方法写下的代码在所有机器上都能正确运行。

热心网友

二种可能,一是数据库的属性为:只读二是数据库的权限,everyone没有写入的权限第一种的解决方法:  右键文件夹,-选择“属性”,将只读前面的勾去掉,第一种的解决方法:  右键文件夹,选择“属性”-“安全”,将“写入”前面的勾选

热心网友

把数据库( b)的安全设置成可以修改的,是因为权限不足引起的

热心网友

RS。OPEN SQL,CONN,A,B A: ADOPENFORWARDONLY(=0) 只读,且当前数据记录只能向下移动 ADOPENSTATIC(=3) 只读,当前数据记录可自由移动 ADOPENKEYSET(=1) 可读写,当前数据记录可自由移动 ADOPENDYNAMIC(=2) 可读写,当前数据记录可自由移动,可看到新增记录ADOPENSTATIC(=4):打开静态类型的游标 B: ADLOCKREADONLY(=1) 默认值,用来打开只读记录 ADLOCKPESSIMISTIC(=2) 保守锁定 ADLOCKOPTIMISTIC(=3) 开放的锁定 ADLOCKBATCHOPTIMISTIC(=4) 开放的批更新方式 你可以根据上面的设置自已的方法。例如:rs。open sql,conn,3,3 后面的参数比如rs。Open "select * from formname",conn,3,3 都是由意思的。