asp:为什么不能对Access数据库进行 insert 操作????
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
/hp/user_registcheck.asp, 第 50 行
源程序:
.....
set cmd = Server.CreateObject( "ADODB.Command ")
cmd.ActiveConnection =conn
cmd.CommandText = "select count(*) from user_T where UserName= ' "&Request.Form( "username ")& " ' "
set rs = cmd.Execute
if rs(0)> 0 then
errOccur( "你的用户名已经存在!请选择其他的用户名. ")
rs.close
set rs=nothing
else
cmd.CommandText = "insert into user_T (UserName,Password) values( ' "&Request.Form( "username ")& " ', ' "&Request.Form( "pwd ")& " ') "
cmd.Execute ,,adCmdText+adExecuteNoRecords //50行
Response.write ( "客户资料已经保存! ")
conn.close
conn=nothing
....
可更新的查询?啥意思,哪位大侠指点一下,不胜感激!!!!
------解决方案--------------------有几种可能,大多数情况是access数据库文件本身的权限问题,看一下是不是IUSER_xxx用户有写的权限。还有就是数据库的路径是否正确。
参考:
http://www.chinaitservice.net/database/操作必须使用一个可更新的查询解决办法4147.html
------解决方案--------------------给 everyone 加写操作权限
------解决方案--------------------cmd.CommandText = "insert into user_T ([UserName],[Password]) values( ' "&Request.Form( "username ")& " ', ' "&Request.Form( "pwd ")& " ') "
这样试试
------解决方案--------------------权限不够!
给运行IIS 的 IUSER_xxx 用户(xxx一般为机器名称),具有 access 文件写的权限