ASP 错误 没有为一个或多个必需参数指定值

Posted

技术标签:

【中文标题】ASP 错误 没有为一个或多个必需参数指定值【英文标题】:ASP Error No value given for one or more required parameters 【发布时间】:2014-08-28 17:31:44 【问题描述】:

我在 ASP 登录时收到以下错误

Microsoft JET 数据库引擎错误“80040e10”

没有为一个或多个必需参数指定值。

/vdateUsr.asp,第 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)

任何帮助将不胜感激。

提前致谢

【问题讨论】:

在第 47 行之前添加一行 response.write(sqlSTR) 和第二行 response.end。然后看看输出的 SQL... 看起来像 frmusername 和 frmpassword 有值吗?此外......认真考虑使用参数化查询。这有导致站点黑客攻击的 SQL 注入问题。方法如下:***.com/questions/770419/… recommend this 也会详细解释一些您可以反复使用的技术。 【参考方案1】:

从 Excel 加载以存储在 SQL Server 中时,我们遇到了这个确切的错误。原因是我们使用了源 Excel 中不存在的列 [F6](文件格式已更改)。因此,“参数”可以是一列。

【讨论】:

以上是关于ASP 错误 没有为一个或多个必需参数指定值的主要内容,如果未能解决你的问题,请参考以下文章

表格 Excel 中的一个或多个必需参数没有给出值

没有为一个或多个必需参数提供值。查询中的错误是啥

数据库错误:“没有为一个或多个必需参数提供值。”

“INSERT INTO 语句中的语法错误”和“没有为一个或多个必需参数提供值”

VBA SQL'没有为一个或多个必需参数提供值'但字段存在

查询带有标题的制表符分隔的文本文件时出现 VBA 错误 - “没有为一个或多个必需参数提供值”