佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1095|回复: 4

ASP无法update mySQL资料

[复制链接]
发表于 19-4-2008 04:41 PM | 显示全部楼层 |阅读模式
  1. Dim conn, sConnection
  2. sConnection = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=mDB; UID=admin123;PASSWORD=admin123; option=3;Stmt=SET NAMES 'utf8';"
  3. set conn=Server.CreateObject("ADODB.Connection")
  4. conn.Open sConnection

  5. Dim MM_editCmd
  6. Set MM_editCmd = Server.CreateObject ("ADODB.Command")
  7. Set MM_editCmd.ActiveConnection = conn
  8. MM_editCmd.CommandText = "UPDATE tblRunningMsg SET Msg = ?, Hide = ? WHERE MsgID = ?"
  9. MM_editCmd.Prepared = true
  10. MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 202, 1, 250, Request.Form("txtMsg")) ' adVarWChar
  11. MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 5, 1, -1, MM_IIF(Request.Form("cbHide"), 1, 0)) ' adDouble
  12. MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 5, 1, -1, MM_IIF(Request.Form("MM_recordId"), Request.Form("MM_recordId"), null)) ' adDouble
  13. MM_editCmd.Execute
  14. MM_editCmd.ActiveConnection.Close
复制代码

执行后出现错误,

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [MySQL][ODBC 3.51 Driver][mysqld-4.1.21-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE MsgID=22' at line 1

有人知道为什么吗?

[ 本帖最后由 和平 于 19-4-2008 04:45 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 19-4-2008 04:46 PM | 显示全部楼层
就算用这个方法也出现同样的错误...


  1. Dim updateSQL
  2.    updateSQL="UPDATE tblRunningMsg SET "
  3.    updateSQL=updateSQL & "Msg='" & trim(Request.Form("txtMsg")) & "', "
  4.    updateSQL=updateSQL & "Hide=" & MM_IIF(Request.Form("cbHide"), 1, 0) & ", "
  5.    updateSQL=updateSQL & "WHERE MsgID=" & Request.Form("MM_recordId")
  6. conn.Execute updateSQL
复制代码
回复

使用道具 举报

发表于 19-4-2008 05:01 PM | 显示全部楼层
write 你的query出来看下where前面是不是多了个逗号(,)
还是where前面的value是空的。。
回复

使用道具 举报

 楼主| 发表于 19-4-2008 05:08 PM | 显示全部楼层
原帖由 Legend 于 19-4-2008 05:01 PM 发表
write 你的query出来看下where前面是不是多了个逗号(,)
还是where前面的value是空的。。


第2个方法的确多了个(,) 去掉后没问题了.
但是为什么第1个方法就还是有问题...
回复

使用道具 举报

发表于 19-4-2008 05:30 PM | 显示全部楼层
可能Hide=(没有value) 所以就有error...response.write 你的 query 出来看看。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 1-1-2026 05:41 PM , Processed in 0.168917 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表