报错信息如下:
错误类型:
Microsoft JET Database Engine (0x80040E14)
/helpyou/adofunctions.asp, 第 28 行
数据库中products表中:“"品名","重量","规格","颜色","分类",”为文本格式,
“图片”为备注格式,还有一个id自动编号。
更新页代码如下:
1
2dim pm,zl,gg,ys,fl,tp,id
3pm=request("pm")
4zl=request("zl")
5gg=request("gg")
6ys=request("ys")
7fl=request("fl")
8tp=request("tp")
9id=request("id")
10dim strSQL,objRS
11strSQL = "SELECT * FROM products Where id = "&request("id")
12Set objRS= GetSQLRecordset(strSQL, "dbshuji/tmd_cp.mdb","products","")
13objRS.update Array("品名","重量","规格","颜色","分类","图片"),_
14Array(pm,zl,gg,ys,fl,tp)
15'关闭数据库连接并释放对象
16objRS.Close
17Set objRS= Nothing
18objConn.Close
19Set objConn = Nothing
1<html>
2<head>
3<title>修改资料成功</title>
4<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
5<style type="text/css">
6<!--
7.unnamed1 { font-size: 9pt; text-decoration: none}
8\-->
9</style>
10</head>
11<body>
12<p> </p>
13<p> </p>
14<p> </p>
15<table align="center" border="1" bordercolordark="#ffffff" bordercolorlight="#000000" width="29%">
16<tr>
17<td bgcolor="#660099">
18<div align="center" class="unnamed1">修改资料成功!</div>
19</td>
20</tr>
21<tr>
22<td>
23<div align="center" class="unnamed1">数据库对你的资料已做了修改!</div>
24</td>
25</tr>
26<tr>
27<td>
28<div align="center" class="unnamed1"><<a href="delete_1.asp">点击这里反回</a>></div>
29</td>
30</tr>
31</table>
32<meta content="2; URL=delete_1.asp" http-equiv="Refresh"/>
33***********adofunctions.asp代码:
34<!-- #include file="adovbs.inc" -->
Dim objConn
Function GetSecureRecordset(FileName,TableName,Password)
'使用Connection对象打开数据库文件
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath(FileName) & _
";Jet OLEDB:Database Password="& Password
objConn.Open
'从数据表中读取记录并存放在Recordset对象中
Set GetSecureRecordset = Server.CreateObject("ADODB.Recordset")
GetSecureRecordset.Open TableName, objConn, adOpenKeyset, adLockOptimistic, adCmdTable
End Function
Function GetSQLRecordset(strSQL, FileName, TableName,password)
'使用Connection对象打开数据库文件
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath(FileName) & _
";Jet OLEDB:Database Password="& Password
objConn.Open
'从数据表中读取符合SQL语句的记录并存放在Recordset对象中
Set GetSQLRecordset = Server.CreateObject("ADODB.Recordset")
GetSQLRecordset.Open strSQL, objConn, adOpenKeyset, adLockOptimistic, adCmdText '此处为28行
End Function
1\---------------------------------------------------------------
2
3GetSQLRecordset.Open strSQL, objConn, 3,2
4\---------------------------------------------------------------
5
6太长了,你把记录集的游标方式换了试一试
7\---------------------------------------------------------------
8
9GetSQLRecordset.Open strSQL, objConn,3,3
10\---------------------------------------------------------------
11
12我这里是正常的啊!
13你改为:
14GetSQLRecordset.Open strSQL, objConn, 3,3
15
16试试看!
17
18\---------------------------------------------------------------
19
20查看一下你的ACCESS数据库的属性,是不是处于“只读”属性?
21\---------------------------------------------------------------
22
23恩
24很可能是设了“只读”
25代码没错了啊
26\---------------------------------------------------------------
27
2880040e14 ¦语法错误_(操作符丢失)_在查询表达式_'id_='_中
29
30
31前一页的id没有传过来!!!</body></html>