深圳市酷动数码:请问这段代码哪里有错

来源:百度文库 编辑:高考问答 时间:2024/05/05 00:01:03
<%
lwcx=trim(request("lwcx"))

set rs=server.createobject("adodb.recordset")

sql="SELECT * FROM lunwen WHERE lwyear="&lwcx&""

rs.open sql,conn,1,2
%>

错误提示是:标准表达式中数据类型不匹配

我想实现的是查询功能

lwcx字段是在年份下拉框中提取的数据
lwyear字段是文本类型

对程序不太熟悉 望帮忙 谢谢
lwyear 数据库类型我设置的是文本

它也是从下拉菜单中添加进数据库的
就是这种下拉菜单
<select name="gyear" size="1" class="put" id="select3">
<option value="">选</option>
<%for i=year(date) to 1900 step -1%>
<option value="<%=i%>"><%=i%></option>
<%next%>
</select>

sql="SELECT * FROM lunwen WHERE lwyear="&lwcx&""

改成:sql="SELECT * FROM lunwen WHERE lwyear='"&lwcx&"'"

字符串和日期型字段要加单引号

如果只是存放年份而不用日期的话,可以将lwyear改成char(4)类型。
如果需要可以在插入和查询时再链接一个字符串:"&lwcx&"-1-1'"
你语句写的也不对:sql="SELECT * FROM lunwen WHERE lwyear='"&lwcx&"'"
lwcx要加单引号。

lwyear是否是时间字段,你的程序中把它看作字符串。