2014-08-28 83 views
0

我收到以下错误给我的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) 

任何帮助,将不胜感激。

在此先感谢

+1

在第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

+0

也会[推荐这个](http://stackoverflow.com/ a/21698468/692942)详细解释了一些可以反复使用的技巧。 – Lankymart 2014-08-28 18:19:21

回答

0

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

相关问题