ASP错误没有为一个或多个必需参数
问题描述:
我收到以下错误给我的ASP登录ASP错误没有为一个或多个必需参数
Microsoft JET Database Engine error '80040e10' No value given for one or more required parameters. /vdateUsr.asp, line 47
的数据的形式被输入并在Access数据库检查值。这里是代码:
' variables
dim cnStr
dim rcSet
dim frmUsername
dim frmPassword
dim sqlStr
dim strSQL
'store form input into variables
frmUsername = Request.Form("username")
frmPassword = Request.Form("password")
'create connection and recordset objects
Set cnStr = Server.CreateObject("ADODB.Connection")
Set rcSet = Server.CreateObject("ADODB.Recordset")
' defining database connection (connectionstring.asp)
cnStr.ConnectionString = path
cnStr.Provider = provider
cnStr.open
' execute sql and open as recordset
sqlStr = "Select * From users where [User Name] = ('" & frmUsername & "') and [Password] = ('" + frmPassword + "')"
strSQL="SELECT startup site FROM users WHERE [User Name] = ('" & frmUsername & "') and [Password] = ('" & frmPassword & "')"
' Opens the returned values from the SQL as a recordset, ready for iteration by ASP
'Line 47 below
set rcSet = cnStr.Execute(sqlStr)
任何帮助,将不胜感激。
在此先感谢
答
从Excel加载以存储在SQL Server中时,我们有这个确切的错误。原因是我们使用了源Excel中不存在的列[F6](文件格式已更改)。所以,一个“参数”可以是一列。
在第47行读取'response.write(sqlSTR)'和第二行'response.end'之前添加一行。然后看看输出的SQL ...看起来像frmusername和frmpassword有价值吗?另外...认真研究使用参数化查询。这有SQL注入问题,导致网站黑客入侵。这里是如何:http://stackoverflow.com/questions/770419/how-to-make-a-parametrized-sql-query-on-classic-asp – xQbert 2014-08-28 17:41:40
也会[推荐这个](http://stackoverflow.com/ a/21698468/692942)详细解释了一些可以反复使用的技巧。 – Lankymart 2014-08-28 18:19:21