请问为什么会这样?

shuizhilang 2008-01-13 10:03:51
if request("searchlb")=1 then
findword="Title like '%"&searchtext1&"%' "
else
findword="( " & translate(searchtext1,"content") &" )"
end if
set rs=server.CreateObject("ADODB.RecordSet")
sql="select * from news where " & findword & " and checked=1 order by updatetime desc"
rs.Open sql,conn,1,3



结果提示:
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

ODBC 驱动程序不支持所需的属性。

/webmade/searchfind.asp,行57


请各位大哥大姐帮忙看看。
...全文
116 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶子 2008-01-19
  • 打赏
  • 举报
回复
up
myvicy 2008-01-19
  • 打赏
  • 举报
回复
问题在你这里.
findword="( " & translate(searchtext1,"content") &" )"
组合成sql之后不符合sql规范.考虑改正它应该就没问题了。
yanniu008 2008-01-13
  • 打赏
  • 举报
回复
我有点搞不懂LZ要么就都分开写SQL要么就在一起写,这样看的清楚的.
你有IF THEN ELSE语句的话可以写两个 SQL语句的.
问题一.说的很清楚没有end if 结尾
问题二,有三个可能
1、sql语句有问题,检查一下 ,可能是单引号和双引号或联接字串写错之类的语法问题;
2、数据库不支持这种sql语句格式;
3、config.asp文件的配置问题,
修改成下面的那个,然后根据你的情况重新改一下即可

<%@ LANGUAGE = VBScript CodePage = 936%>
<%
Response.Buffer=True
IsSqlDataBase=0 '定义数据库类别,0为Access数据库,1为SQL数据库
If IsSqlDataBase=0 Then
'''''''''''''''''''''''''''''' Access数据库 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
datapath ="/" '数据库目录的相对路径
datafile ="#data#.asa" '数据库的文件名
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(""&datapath&""&datafile&"")
'Connstr="DBQ="&server.mappath(""&datapath&""&datafile&"")&";DRIVER={Microsoft Access Driver (*.mdb)};"
SqlNowString="Now()"
SqlChar="'"
ver="1.0"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Else
''''''''''' SQL数据库 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
SqlLocalName ="(local)" '连接IP [ 本地用 (local) 外地用IP ]
SqlUsername ="name" '用户名
SqlPassword ="pass" '用户密码
SqlDatabaseName="data" '数据库名
ConnStr = "Provider=Sqloledb;User & SqlUsername & "; Password=" & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source=" & SqlLocalName & ";"
SqlNowString="GetDate()"
ver="1.0 SQL"
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
END IF
On Error Resume Next
Set conn=Server.CreateObject("ADODB.Connection")
conn.open ConnStr
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "数据库连接出错,请检查连接字串。"
Response.End
End If
On Error GoTo 0
%>

还有一种可能,ACCESS数据库坏了导致数据无法更新,修复一下就可以了

xiaolei1982 2008-01-13
  • 打赏
  • 举报
回复
if request("searchlb")=1 then
findword="Title like '%"&searchtext1&"%' "
else
findword="( " & translate(searchtext1,"content") &" )"
end if
set rs=server.CreateObject("ADODB.RecordSet")
sql="select * from news where " & findword & " and checked=1 order by updatetime desc"
response.write(sql)
response.end()

结果贴出来
MikeCheers 2008-01-13
  • 打赏
  • 举报
回复
查内容时的语句应该是拼错了 我猜拼出来的语句是这样 select * from news where (something) and checked=1 order by updatetime desc
显然 where条件是错的
shuizhilang 2008-01-13
  • 打赏
  • 举报
回复
当查询标题时可以正常查询,但是查询内容时不行就出现错误提示

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧