无法更新我的数据库中的查询,获取有关可更新查询的错误

时间:2014-07-22 12:59:45

标签: html sql asp-classic sql-update insert-update

我想更新但是id没有工作......

'数据库连接 - 记住指定数据库的路径

    Set Conn = Server.CreateObject("ADODB.Connection")         
Conn.Open "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" & Server.MapPath("dbbb.mdb")

' Get data from the database depending on the value of the id in the URL
 Dim strSQL     

strSQL = "INSERT INTO people ("

strSQL = strSQL & "firstName , "
strSQL = strSQL & "lastName , "

strSQL = strSQL & "phone , "
strSQL = strSQL & "birthDate ) "

strSQL = strSQL & "VALUES("

strSQL = strSQL & "'Cousin', "

strSQL = strSQL & "'Gus', "
strSQL = strSQL & "'99887766', "

strSQL = strSQL & "'20-04-1964')"

' The SQL statement is executed 
Set rs = Conn.Execute(strSQL)

' Close the database connection
  rs.Close()
Set rs = Nothing
Conn.Close()
Set Conn = Nothing

我收到错误

操作必须使用可更新的查询。

我必须错过一个空间或什么......我可以解决从数据库中读取但我无法更新的问题

2 个答案:

答案 0 :(得分:0)

不要使用“执行”方法插入。 用户ADODB.RecordSet而不是

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" & Server.MapPath("dbbb.mdb")
Set Rs = Server.CreateObject("ADODB.RecordSet")
Rs.Open "Select Top 1 * From people", Conn,3,3
   Rs.AddNew
   Rs("firstName") = 'Cousin'
   Rs("lastName") = 'Gus'
   Rs("phone") = '99887766'
   Rs("lastName") = CDate('20-04-1964')
   Rs.Update
   Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing

答案 1 :(得分:0)

问题是您的数据库所在的文件夹没有为网站运行的用户启用写入权限。

通常,您需要为用户提供IUSR_或IUSR对其所在的MDB文件或文件夹的读/写权限。用户可能因操作系统/ IIS版本/ IIS设置而异。

如果您提供有关托管环境的更多详细信息,我们可能会提供进一步的帮助(例如,本地或cliud,IIS版本,控制面板访问等)。