新手问题 ASP 数据库访问……
wuzhu 2005-03-31 12:45:02 我用 ASP 在win2KP 中 IIS5.0 WEBROOT 下做了一个留言本,在我向数据库写入数据的时候出现错误,我需要改那些设置或者代码来使我能够通过 web 页面写入数据内容?
物理结构:
webroot -
|- myboos: {mybook.asp , mybook.mdb(ACCESS2000)}
我可以使用 ADO 方式读取数据, 可是想通过 页面 向数据库更新的时候,却说:
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft JET Database Engine 错误 '80040e09'
不能更新。数据库或对象为只读。
/mybook/mybook.asp,行79
部分代码:
<%@ LANGUAGE = VBScript CodePage = 936%>
<%
Response.Buffer=True
datapath ="" '数据库目录的相对路径
datafile ="mybook.mdb" '数据库的文件名
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(""&datapath&""&datafile&"")Set conn=Server.CreateObject("ADODB.Connection")
conn.open ConnStr
Set rst = server.createobject("ADODB.Recordset")
strSQL="SELECT * FROM books"
rst.Open strSQL , conn, 1 , 3
if rst.eof then response.write "null"
rst.AddNew '<----------------------(这是79行)
rst("m_title") = "(空)"
rst("m_author") = "大穷神"
rst("m_content") = "收到"
rst("m_date") = Date
rst("m_time") = Time
rst("repflag") = True
rst("repid") = 1
rst.Update
rst.Close
Set rst = Nothing
'set cmd=server.createobject("ADODB.Command")
'cmd.CommandText = "INSERT INTO books (m_title,m_author,m_content,m_date,m_time,repid,repflag) values('(空)','无名','收到','" & Date & "','" & Time & "',1,TRUE)"
'cmd.ActiveConnection = conn
'cmd.Execute
'set cmd=nothing
后改为 SQL 语句,还是不行。
strSQL="INSERT INTO books (m_title,m_author,m_content,m_date,m_time,repid,repflag) values('(空)','无名','收到','" & Date & "','" & Time & "',1,TRUE)"
conn.execute strSQL '<--------- 第92行
运行提示:
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft JET Database Engine 错误 '80004005'
操作必须使用一个可更新的查询。
/mybook/viewmessage.asp,行92