我的ACCESS数据库更新不了!急!

报错信息如下:
错误类型:
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">&lt;<a href="delete_1.asp">点击这里反回</a>&gt;</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;" &amp; _
"Data Source=" &amp; Server.MapPath(FileName) &amp; _
";Jet OLEDB:Database Password="&amp; 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;" &amp; _
"Data Source=" &amp; Server.MapPath(FileName) &amp; _
";Jet OLEDB:Database Password="&amp; 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  
2324很可能是设了“只读”   
25代码没错了啊   
26\---------------------------------------------------------------   
27  
2880040e14 ¦语法错误_(操作符丢失)_在查询表达式_'id_='_中   
29  
30  
31前一页的id没有传过来!!!</body></html>
Published At
Categories with Web编程
comments powered by Disqus