MS Access:没有为一个或多个必需参数提供值
MS Access: No value given for one or more required parameters
我正在尝试 运行 对 MS Access 数据库进行以下查询(来自 .asp 页面):
SELECT firstname, lastname, emp_id FROM employees ORDER BY firstname
但是,我收到一条错误消息
没有为一个或多个必需参数提供值。
现在,如果我排除 "emp_id"(主键)字段,查询 运行 就可以了。我已确保该字段存在并且查询中没有拼写错误。
如果我 运行 通过 MS Access GUI 进行查询,会出现一个弹出窗口,要求我在 emp_id 字段中输入 "parameter value"。这可能是它不起作用的原因,为什么会发生?
从数据库中获取员工:
Function GetEmployees()
Dim employeesRS, sqlGetEmployees, employeesList, e
Set employeesList = CreateObject("System.Collections.ArrayList")
sqlGetEmployees = "SELECT firstname, lastname, emp_id FROM employees ORDER BY firstname"
Set employeesRS = db.connTb.execute(sqlGetEmployees) 'Custom class to simplify db-querying
While Not employeesRS.EOF
Set e = new Employee
e.Firstname = employeesRS("firstname")
e.Lastname = employeesRS("lastname")
e.Id = employeesRS("emp_id")
employeesList.Add(e)
employeesRS.MoveNext
Wend
employeesRS.Close
Set GetEmployees = employeesList
End Function
table 结构的屏幕截图:(您可能已经注意到,我翻译了 table 和 post 中的代码,以使其更具可读性。[=31 之间的关系=] 字段是相同的。)
已解决:
MS Access 中的查询结果视图显示字段名称为 "emp_id",但实际名称为 "employee_id"。
使用数据库的程序曾经是一个 Access-forms 应用程序,因此在查询结果视图中的列上的名称与实际名称不同(出于某种原因,我不知道为什么这听起来像好主意)
我正在尝试 运行 对 MS Access 数据库进行以下查询(来自 .asp 页面):
SELECT firstname, lastname, emp_id FROM employees ORDER BY firstname
但是,我收到一条错误消息
没有为一个或多个必需参数提供值。
现在,如果我排除 "emp_id"(主键)字段,查询 运行 就可以了。我已确保该字段存在并且查询中没有拼写错误。
如果我 运行 通过 MS Access GUI 进行查询,会出现一个弹出窗口,要求我在 emp_id 字段中输入 "parameter value"。这可能是它不起作用的原因,为什么会发生?
从数据库中获取员工:
Function GetEmployees()
Dim employeesRS, sqlGetEmployees, employeesList, e
Set employeesList = CreateObject("System.Collections.ArrayList")
sqlGetEmployees = "SELECT firstname, lastname, emp_id FROM employees ORDER BY firstname"
Set employeesRS = db.connTb.execute(sqlGetEmployees) 'Custom class to simplify db-querying
While Not employeesRS.EOF
Set e = new Employee
e.Firstname = employeesRS("firstname")
e.Lastname = employeesRS("lastname")
e.Id = employeesRS("emp_id")
employeesList.Add(e)
employeesRS.MoveNext
Wend
employeesRS.Close
Set GetEmployees = employeesList
End Function
table 结构的屏幕截图:(您可能已经注意到,我翻译了 table 和 post 中的代码,以使其更具可读性。[=31 之间的关系=] 字段是相同的。)
已解决:
MS Access 中的查询结果视图显示字段名称为 "emp_id",但实际名称为 "employee_id"。
使用数据库的程序曾经是一个 Access-forms 应用程序,因此在查询结果视图中的列上的名称与实际名称不同(出于某种原因,我不知道为什么这听起来像好主意)