主题:  asp代码有错,帮看看,asp+ms sql

jakejo

职务:普通成员
等级:1
金币:0.0
发贴:2
#12004/12/10 19:57:54
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>百度搜索_asp与sql连接 </title>
</HTAD>
<BODY>
<%
set conn=server.CreateObject("ADODB.Connection")
conn.Open "Driver={SQL Server};server=JO;database=ASPTest;uid=sa;pwd=admin"
set.rs=server.CreateObject("ADODB.RecordSet")
sql="SELECT * FROM asptest where i_d in (2,2)"
rs.Open sql,conn,1,1
If (rs.eof and rs.bof) Then response.write("没有找到!")
Elseif (not rs.bof and rs.eof) Then response.write(rs(" aspuser "))
End if
rs.close set rs=nothing
conn.close
set conn=nothing%>
<%=now()%>
</BODY>
</HTML>



沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#22004/12/10 23:24:35
If (rs.eof and rs.bof) Then response.write("没有找到!")
Elseif (not rs.bof and rs.eof) Then response.write(rs(" aspuser "))
End if

改成:
if rs.eof and rs.bof then
  response.write("没有找到!")
elseif not(rs.eof and rs.bof) then
  response.write(rs(" aspuser "))
end if


if rs.eof and rs.bof then response.write("没有找到!") else response.write rs("aspuser")


写程序最好注意代码缩进,这样自己阅读起来也方便。


难人一个……

蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#32004/12/11 3:19:39
写程序的习惯很不好,这样很容易忽视一些不明显错误。
比如:not rs.bof and rs.eof 就会引起误会,not的优先比 AND高,所以引起逻辑错误,
应改为 not ( rs.bof and rs.eof ),这样书写就很清晰。

另外,VB里二句不能同行,它不同于C类语言的写法
rs.close set rs=nothing,书写是错误的


非常大鱼

jakejo

职务:普通成员
等级:1
金币:0.0
发贴:2
#42004/12/11 11:04:11
问题解决了,多谢两位 !!!!



沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#52004/12/11 12:21:02
rs.close():set rs=nothing
两行语句要并成一行的话,可以用一个:分隔。


难人一个……