| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 735 人关注过本帖
标题:[求助]ASP 发布问题,大家看一下
只看楼主 加入收藏
了无痕
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-2-1
收藏
 问题点数:0 回复次数:10 
[求助]ASP 发布问题,大家看一下

我在一台计算机(xp操作系统)上安装了sqlserver数据库,配置了odbc数据源,测试连接也没问题,asp文件也在iis上指定路径正确,运行http://localhost能够出现asp用户登录的欢迎界面,但就是输入用户密码不能进入系统。苦思找不到原因,望各位给于帮助,不胜感激。

贴出下列相关代码,供大家参考问题:我用response输出结果发现conn.errors.count=1,去掉这个if条件,下面的n值却为空。
on error resume next
user_id=trim(request.form("user_id"))
user_pwd=trim(request.form("user_pwd"))
dsnstr="dsn=kf;UID=sa;pwd=huangxk;"
set conn=server.createobject("adodb.connection")
conn.open dsnstr
sqlstr1="SELECT USERID,USERPASS from WEB_LOGON_USERS where (USERID='"&user_id&"')and (USERPASS='"&user_pwd&"')"
conn.execute sqlstr1

if conn.errors.count>0 then
msgbox("nihao")
else
set rs=server.createobject("adodb.recordset")

sqlstr="SELECT USERID,USERPASS from WEB_LOGON_USERS where (USERID='"&user_id&"')and (USERPASS='"&user_pwd&"')"


rs.open sqlstr,dsnstr,3,1
n=rs.recordcount

搜索更多相关主题的帖子: 计算机 操作系统 数据库 ASP 
2007-10-24 08:33
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
你可以把sql语句放到数据库里面执行看看,是否有结果

另外,msgbox函数是没用的,vbs是在服务器端解释执行的,不可能在用户端弹出窗口,你可以使用alert函数。

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-10-24 08:51
了无痕
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-2-1
收藏
得分:0 
我用的是SQLSERVER数据库,SQL语句在查询分析器中是可以检查到数据的。所以我很困惑,不知道还有什么原因导致这样的情况出现
2007-10-24 09:21
不惑
Rank: 2
等 级:论坛游民
威 望:2
帖 子:569
专家分:13
注 册:2007-3-22
收藏
得分:0 
多半是IIS安装问题
XP系统默认安装IIS时它有好多功能是不运行的,原因是XP真对的是个人用户,而IIS是面对的网络用户.
很多内容需要你手动去配置它.
2007-10-24 09:26
了无痕
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-2-1
收藏
得分:0 
我对iis不是很了解,我的机器(XP)是处于网络中的,在我机器上运行发布好用,而在一个单机(操作系统是XP属于军工加密的系统登录密码,这个有影响么?)上却不好用(数据库的安装配置都一样),我就是苦于找不到原因,iis有什么需要注意的么?
2007-10-24 09:59
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
msgbox("nihao") 服务器端代码不支持msgbox函数的。
2007-10-24 15:49
了无痕
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-2-1
收藏
得分:0 
是的,我可以把那块去掉,就像我前提部分说的去掉if条件,下面的n值为空
2007-10-24 16:15
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

用rs.eof的方式来检查呢?
比如
sqlstr1="SELECT USERID,USERPASS from WEB_LOGON_USERS where USERID='"&user_id&"' and USERPASS='"&user_pwd&"'"
set rsVer=conn.execute sqlstr1
if rsVer.eof then
Response.Write "<script language=javascript>alert('用户名或密码错误');</script>"
end if

2007-10-24 16:25
了无痕
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-2-1
收藏
得分:0 
sqlstr="SELECT USERID,USERPASS from WEB_LOGON_USERS where (USERID='"&user_id&"')and (USERPASS='"&user_pwd&"')"
rs.open sqlstr,dsnstr,3,1
n=rs.recordcount

这段SELECT语句可以在数据库中直接查询到记录,但是往下走N却得不到数值。我应该怎么检测。
2007-10-24 16:29
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
rs.open sqlstr,dsnstr,1,1
我记得好像是1,1recordcount才管用。
2007-10-24 17:02
快速回复:[求助]ASP 发布问题,大家看一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018551 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved