asp站内搜索引擎代码

如题,我的数据库是adbook.mdb里面内容有管理员和通讯录两个表单,其中用的通讯录格式是IDdf姓名性别职务内线电话部门我的coon.asp代码是<%dimdb,co... 如题,我的数据库是adbook.mdb
里面内容有管理员和通讯录两个表单,其中用的通讯录格式是
ID df 姓名 性别 职务 内线 电话 部门
我的coon.asp代码是
<%
dim db,conn,connstr
db="adbook.mdb"
set Conn = server.CreateObject("ADODB.Connection")
connstr="provider=microsoft.jet.oledb.4.0;data source="& server.MapPath(""&db&"")
conn.Open connstr

%>

,我的index.asp里面的搜索代码是
<form name="form1" method="post" action="search.asp">
<label><input type="text" name="textfield">
</label><label><select name="select">
<option value="df">地方</option>
<option value="姓名">姓名</option>
<option value="职务">职务</option>
<option value="部门">部门</option>
<option value="内线">短号</option>
<option value="电话">电话</option>
</select>
</label>
<label>
<input type="submit" name="Submit" value="提交">

</label>
</form>
最后我里面search.asp的代码为
<!--#include file="conn.asp" --><title>search</title>
这是您搜索到的结果:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>地方</td>
<td>姓名</td>
<td>职务</td>
<td>部门</td>
<td>短号</td>
<td>电话</td>
</tr>
<%
key=request("textfield") '获取搜索的关键字
kind=request("select") '获取搜索的类别

str="select * from [通讯录] where 1=1 "
if kind<>"" then
str=str&" and "&kind&" like '%" & key & "%'"
end if
set searchrs=server.createobject("adodb.recordset")
searchrs.open str,conn,1,1
if not searchrs.eof then
while not searchrs.eof
%>
<tr>
<td> <%=searchrs("df")%></td>
<td> <%=searchrs("姓名")%></td>
<td> <%=searchrs("职务")%></td>
<td> <%=searchrs("部门")%></td>
<td> <%=searchrs("内线")%></td>
<td> <%=searchrs("电话")%></td>
</tr>
<%
searchrs.movenext
wend

end if
searchrs.close
set searchrs=nothing

%>
</table>
搜索之后出现错误
FROM 子句语法错误。

\search.asp, line 21
21行是searchrs.open str,conn,1,1
如图还有乱码字体
请问怎么解决?所有的分都在这里了,作为asp爱好者,谢谢各位了
展开
 我来答
欲速则不达X
推荐于2016-01-29 · TA获得超过177个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:252万
展开全部
很明显是编码问题.
把表名改为字母的

有时候不知道是什么错误,可以测试一下你的SQL语句如你可以在执行语句之前打印一下SQL语句
<%
response.write str
response.end
%>
这样就可以看出打印出来的SQL语句里有没有乱码,或者是字符连接是否有问题了.希望对你有用.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luoming7666285
2010-06-08 · TA获得超过180个赞
知道小有建树答主
回答量:450
采纳率:0%
帮助的人:88.6万
展开全部
str="select * from [通讯录] where 1=1 "
if kind<>"" then
str=str&" and "&kind&" like '%" & key & "%'"
end if

这句写错了!截图的提示是说查找数据库时出错 ,看清数据库里字段的格式是字数还是其它。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ifree2008
2010-06-07 · TA获得超过164个赞
知道小有建树答主
回答量:626
采纳率:0%
帮助的人:520万
展开全部
乱码可能是网页编码的问题,需要显示说明网页的编码。 数据库名,字段名最好用拼音或英文。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式