我用Access 2000打开一个数据库后,再用ASP保存纪录,但是无法保存.也没有任何提示错误.
即使关闭后,也无法保存.只有在重启后,才可以.
我的代码:
connstr="DBQ="+server.MapPath("a.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("adodb.connection")
conn.open connstr
set rs=server.createobject("adodb.recordset")
sql="select * from order where (id is null)"
rs.open sql,conn,1,3
rs.addnew
rs("user")=request.form("user")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
---------------------------------------------------------------
看看你的数据库驱动,推荐驱动:
1
2option explicit
3dim startime,endtime,conn,connstr,db
4startime=timer()
5db="data.mdb"
6Set conn = Server.CreateObject("ADODB.Connection")
7connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
8conn.Open connstr
9function CloseDatabase
10Conn.close
11Set conn = Nothing
12End Function
---------------------------------------------------------------
rs("user")=request.form("user")
我怀疑这里你的数据类型和request的数据不匹配所致.
---------------------------------------------------------------
你的记录集为静态的,不可更新,改为
rs.open sql,conn,3,1
---------------------------------------------------------------
也可能是配置的关系,共享冲突了。
---------------------------------------------------------------
是不是你的记录号设为自动增1的?
---------------------------------------------------------------
我也是都用SQL語句的﹐同時提醒你確定一下request.form("user")有沒有讀到值﹐而且在頁面前加上response.buffer=true
---------------------------------------------------------------
rs("user")=trim(request.form("user"))
这句的问题,不管这句是否成功赋值,id还是自增了.
rs.addnew
...
rs.update
....
这样id就已经自增了
使用insert 语句吧.
---------------------------------------------------------------
update 语句是修改数据库里已经存在的数据
insert into 才是插入新的数据
insert into hksys (user, email)values('wang','[email protected]')