请教asp+access提交的问题
我用asp+access写的网页,出现了这样的问题:
1、conn.asp
<%
set conn=server.createobject( "adodb.connection ")
conn.open "driver={microsoft access driver (*.mdb)};dbq= "&server.mappath( "database/szkangle.mdb ")
%>
2、usermsg.asp
<!--#include file= "conn.asp "-->
sql = "select * from user "
set rs=server.createobject( "adodb.recordset ")
rs.Open sql , conn, 1,1
表名:user 字段:id自动编号;no文本;name文本,这个可以取出数据
3、usersave.asp
<!--#include file= "conn.asp "-->
<%
Set Rs = Server.CreateObject( "ADODB.Recordset ")
sql= "INSERT into user(no,name) values( '1 ', '2 ') "
Rs.Open sql, conn, 1,1
%>
这个即提示:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
Rs.Open sql, conn, 1,1 这一行有错
这个是什么原因,要怎样处理?可以查询但不能保存,希望大家帮忙解决一下,谢谢!!!
------解决方案--------------------Rs.Open sql, conn, 1,3
或直接用conn
<%
sql= "INSERT into user(no,name) values( '1 ', '2 ') "
conn.execute(sql)
%>
------解决方案--------------------3、usersave.asp
<!--#include file= "conn.asp "-->
<%
Set Rs = Server.CreateObject( "ADODB.Recordset ")
sql= "INSERT into user(no,name) values( '1 ', '2 ') "
Rs.Open sql, conn, 1,1
%>
------------------------------------------------
对于Recordset对象的Open方法,是用来打开记录集的,不是用来执行SQL命令。
要执行无返回结果的SQL命令,请用Connection对象的Execute方法
如:
sql= "INSERT into user(no,name) values( '1 ', '2 ') "
conn.Execute sql
注意,在使用Execute时不需要用括号把变量sql括起来
------解决方案--------------------Rs.Open sql, conn, 1,1
表示你打开数据库的方式,1,1表示只读,你只可以对数据库进读取操作,不可以进行更改或删除记录
------解决方案--------------------Conn.Execute( "Insert Into user(no,name) values( '1 ', '2 ') ")
这个简单,为什么不用?
------解决方案--------------------1,1只是读权限,1,3才是写
放到别的地不行当然也是权限问题了.