我目前正在尝试学习和理解ASP。我想提前为可能发现的任何明显或愚蠢的错误道歉。我对ASP一无所知。我将非常感谢您提供的任何建议或解决方案。
我的任务:使用访问数据库(2003版访问权限)创建医生名单,以便按名称和/或邮政编码搜索医生。我在access(2003)中创建了医生列表“Contacts.mdb”,html页面的表单允许根据医生的名称和/或邮政编码以及ASP页面进行搜索,以便检索基于结果的结果在搜索条件上。
我收到的错误: SELECT * FROM联系人姓氏如'%%'; Microsoft JET数据库引擎错误“80040e10”
没有给出一个或多个必需参数的值。
/HPA563/Spring2014/kpatha3/Dynamic/OBGYNASPcode.asp,第21行
我的html表单代码:
<html>
<body>
<form id="form1" name="form1" method="post" action="OBGYNASPcode.asp">
<label>Doctor's last name:
<input type="text" name="searchTerm" />
</label>
<label>ZIP code:
<input type="text" name="locationTerm" />
</label>
<p>
<input type="submit" name="Submit" value="Submit" />
</p>
</form>
</body>
</html>
ASP代码:
<html>
<head>
<title>OBGYN ASP Page</title>
</head>
<body bgcolor="white" text="black">
<%
Set adoCon = Server.CreateObject("ADODB.Connection")
adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("contacts.mdb")
Set rsDoctors = Server.CreateObject("ADODB.Recordset")
if (request.form("locationTerm")="") then
strSQL = "SELECT * FROM contacts where lastname like '%" & request.form("searchTerm") & "%';"
else
strSQL = "SELECT * FROM contacts where lastname like '%" & request.form("searchTerm") & "%' and zipcode = " & request.form("locationTerm") &";"
end if
Response.Write strSQL
rsDoctors.Open strSQL, adoCon
Response.Write ("<table border='1' width='600'>")
Response.Write ("<tr><td><b>Name</b></td><td><b>Location</b></td></tr>")
Do While not rsDoctors.EOF
Response.Write ("<tr><td>")
Response.Write (rsDoctors("firstName") &" "& rsDoctors("lastName"))
Response.Write ("</td><td>")
Response.Write (rsDoctors("zipcode"))
Response.Write ("</td>")
rsDoctors.MoveNext
Loop
rsDoctors.Close
Set rsDoctors = Nothing
Set adoCon = Nothing
%>
</body>
</html>
如果我遗漏任何信息,请告诉我。
谢谢!
答案 0 :(得分:2)
没有给出一个或多个必需参数的值。
SELECT * FROM contacts where lastname like '%%'
^^-------- Missing parameter here.
我猜测没有输入搜索字词。