Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图将更新写回ASP中的SQL-在'=';_Sql_Sql Server_Asp Classic - Fatal编程技术网

试图将更新写回ASP中的SQL-在'=';

试图将更新写回ASP中的SQL-在'=';,sql,sql-server,asp-classic,Sql,Sql Server,Asp Classic,说到经典ASP,我有点生疏,所以我提前道歉 我有一个asp页面,里面有一张表格,上面填写了pc设备的详细信息。然后将其添加到SQL数据库中。工作有魅力 然而,在查看页面上,我们可以在其中更改任何详细信息,当我单击“保存更改”按钮时,我得到一个错误 “=”附近的语法不正确 以下是我所拥有的: <!-- #include file="Tauthenticate.asp" --> <!--#include file="database.asp"

说到经典ASP,我有点生疏,所以我提前道歉

我有一个asp页面,里面有一张表格,上面填写了pc设备的详细信息。然后将其添加到SQL数据库中。工作有魅力

然而,在查看页面上,我们可以在其中更改任何详细信息,当我单击“保存更改”按钮时,我得到一个错误

“=”附近的语法不正确

以下是我所拥有的:

<!-- #include file="Tauthenticate.asp" -->

<!--#include file="database.asp"-->

<%

pcname=request.form("T1")
pctype=request.form("T2")
pccpu=request.form("T3")
pcram=request.form("T4")
pcmake=request.form("T5")
pcmodel=request.form("T5b")
pcdate=request.form("T6")
graphics=request.form("T7")
notes=request.form("T8")
tag=request.form("T9")
cd_dvd=request.form("T10")


sqlq = "UPDATE PC set PC_Name='" & pcname & "', Type='" & pctype & "', CPU='" & pccpu & "', RAM='" & pcram & "', Make='" & pcmake & "', Model='" & pcmodel & "', Date='" & pcdate & "', Graphics='" & graphics & "', Notes='" & notes & "', Service_Tag='" & tag & "', CD_DVD='" & cd_dvd & "' where PC_ID=" & pcid
response.write(sqlq)
conn.execute(sqlq)
Response.Redirect("../PCs/PCView.asp?pc=" & pcid)



%>

经过快速测试,我得到了这个结果

更新PC套件PC_-Name='LRW9999',Type='Desktop PC',CPU='blah blah',RAM='5555',Make='blah blah',Model='doo doo',Date='09/02/16',Graphics='blah blah',Notes='test only',Service_Tag='gyudsgysdgsgghfs',CD_DVD='9999',PC ID在哪里=

SQL Server的Microsoft OLE DB提供程序错误“80040e14”

“=”附近的语法不正确

/PCs/SaveChangesnew.asp,第28行


我哪里做错了?似乎我看不见树木,我需要新鲜的眼睛来帮助我。

将您的sqlquery更新为以下内容:

sqlq = "UPDATE PC set PC_Name='" & pcname & "', Type='" & pctype & "', CPU='" & pccpu & "', RAM='" & pcram & "', Make='" & pcmake & "', Model='" & pcmodel & "', Date='" & pcdate & "', Graphics='" & graphics & "', Notes='" & notes & "', Service_Tag='" & tag & "', CD_DVD='" & cd_dvd & "' where PC_ID='" & pcid &"'"

pcid
为空。你从来没有分配过如何解释问题?这不是一个解决方案,
PC\u ID
字段很可能是一个
INT
试图显式将其转换为
VARCHAR
只会导致错误。问题是OP没有将任何内容分配给
pcid
as。@RicardoPontual True,我确实说过它会出错……仔细想想,它可能无法确定是否将空的
VARCHAR
传递给
INT
字段,在我的头顶上会发生什么。但无论哪种方法,都不是解决问题的方法,只需为
pcid
传递一个值,或者先检查它,如果不存在更新,则不运行更新,等等。