首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

请教这个异常是咋回事

2012-02-04 
请问这个错误是怎么回事?页面1的代码:%setrsserver.createobject( adodb.recordset )TableNameDatePa

请问这个错误是怎么回事?
页面1的代码:
<%   set   rs=server.createobject( "adodb.recordset ")
TableName   =   DatePart( "m ",DateAdd( "m ",-1,Date))
sql= "select   a.sqjlname,SUM(b.money)   AS   ywmoney   from   pstnuser   as   a   RIGHT   OUTER   JOIN   "&TableName& "pstn   as   b   ON   a.phonenumber=b.phonenumber   GROUP   BY   a.sqjlname "
rs.open   sql,conn,1,1
if   rs.eof   then%>
<%else%>
<%   do   while   not   rs.eof%>
<td   width= "65% ">

<%dim   a
a=rs( "sqjlname ")
if   a= " "   Then
response.write   " <a   href=upfile.asp> <link   href=css.css   rel=stylesheet> <br> 无 </a> "  
else
response.write   " <a   href=yjtj_sy_pstn2.asp?sqjlname= "&a& "> <link   href=css.css   rel=stylesheet> <br> "&a& " </a> "  
end   if
%>
</td>
<td   width= "34% "> <%=rs( "ywmoney ")%> </td>
</tr>
<%   rs.movenext
loop
rs.close
set   rs=nothing
end   if
%>
这里有一个问题:
起初我没有定义a的时候,直接rs( "sqjlname "),按照该字段分组求合后,sqjlname有空值,因此我加了IF语句,但是结果并没显示 "无 ".

问题二:连接到yjtj_sy_pstn2.asp
代码如下:
<%   set   rs=server.createobject( "adodb.recordset ")
TableName   =   DatePart( "m ",DateAdd( "m ",-1,Date))
sql= "select   a.*,b.*   from   pstnuser   as   a   RIGHT   OUTER   JOIN   "&TableName& "pstn   as   b   ON   a.phonenumber=b.phonenumber   where   sqjlname= "&request( "sqjlname ")& " "
rs.open   sql,conn,1,1
if   rs.eof   then%>
<%else%>
<%   do   while   not   rs.eof%>
<td   width= "6% "   height= "20 "> <%=rs( "username ")%> </td>
</tr>
<%   rs.movenext
loop
rs.close
set   rs=nothing
end   if
%>

加了SQL的WHERE后面的内容,结果提示我:
Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E21)
ODBC   驱动程序不支持所需的属性。
/sqjl/data_tj/lyyj/yjtj_sy_pstn2.asp,   第   40   行

是不是因为sqjlname这个字段的相同值在记录里有1条以上造成的?

整个这两个页面关系我是从阅读新闻之类的程序中的
where   id= "&request( "id ")& " "推出来的,不知道合理不合理.



[解决办法]
起初我没有定义a的时候,直接rs( "sqjlname "),按照该字段分组求合后,sqjlname有空值,因此我加了IF语句,但是结果并没显示 "无 ".
-----------------------------------------------------

判断是否为空:if rs( "sqjlname ")= " " or isnull(rs( "sqjlname ")) then

加了SQL的WHERE后面的内容,结果提示我:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
/sqjl/data_tj/lyyj/yjtj_sy_pstn2.asp, 第 40 行
---------------------------
where sqjlname= ' "&request( "sqjlname ")& " ' "

[解决办法]
sqjlname 要加条件。是哪个表的。。如 a.sqjlname
------解决方案--------------------


要加条件要注明是哪个表的。 如 where ... and (a.sqjlname= ' ' or a.sqjlname is null)
[解决办法]
有重复的字段名称的话 需要加
[解决办法]
既然是空值了,还要?sqjlname= "&a& "参照干吗
[解决办法]
把SQL语句打出来,放到数据库中运行就明白
[解决办法]
<tr>
<% set rs=server.createobject( "adodb.recordset ")
TableName = DatePart( "m ",DateAdd( "m ",-1,Date))
sql= "select a.sqjlname,SUM(b.money) AS ywmoney from pstnuser as a RIGHT OUTER JOIN "&TableName& "pstn as b ON a.phonenumber=b.phonenumber GROUP BY a.sqjlname "
rs.open sql,conn,1,1
if rs.eof then%>
<%else%>
<% do while not rs.eof%>
<td width= "65% ">
<%dim a
a=rs( "sqjlname ")
if isnull(rs( "sqjlname ")) then
response.write " <a href= 'yjtj_sy_pstn2.asp?sqjlname= "&a& " '> <link href=css.css rel=stylesheet> 无主用户 </a> "
else
response.write " <a href=yjtj_sy_pstn2.asp?sqjlname= "&a& "> <link href=css.css rel=stylesheet> "&a& " </a> "
end if
%>
</td>
<td width= "34% "> <%=rs( "ywmoney ")%> </td>
</tr>
-----------------------------------------------------
试下这个代码

热点排行