如何验证SQL的select是否有返回值?

我想追加用户数据,但是想要先验证是否存在相同的用户名,如果存在该用户名的话则需要另外命名。
还有就是在用户登录的时候,想通过SQL验证用户名和密码是否正确。
谢谢!!

几种方式:
1.单一的select语句:select count(1) from dba_users where username = '用户名';
通过count的值是否为0来判断是否有这个用户

2.存储过程中通过异常来判断
begin
select username into lv_username from dba_users where username = '用户名';
exception no_data_found then
-- 没有找到就可以新建用户

end;
这两种方式是我觉得比较简单的了。希望能够对你有帮助。追问

能再详细一些吗?谢谢

追答

没什么可解释的啊。不论你前台用什么语句,你都要连接数据库来对数据做操作。那么你要做的事就是,执行select语句查数据的表中是否有用户名=传入用户名的数据。如果有的话,返回的结果集就不为空。如果你用的
select count(1) from dba_users where username = '用户名'
语句的话。判断结果集中count是不是零,如果是零,说明没有这个用户,如果为1,则已存在。

追问

如何判断count是否为0?
给个代码可以吗?
if(count == "1"){
print("存在");

}else{
print("不存在");

}
是这样写的吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-06
您的select语句是在数据库事务中执行的,利用数据库事务的返回码进行验证,返回0代表用户名存在,返回100代表用户名不存在,返回-1代表执行错误或者数据库连接存在问题。追问

通过php,能给个代码吗?

追答

php我不会,不过原理是相同的。
使用SQL验证用户名和密码,首先建立数据库连接对象,在配置连接对象参数时,有userid和pwd的参数,将你要验证的用户名和密码带入,然后启动数据库连接,判断返回值即可。

追问

如何判断返回值?

第2个回答  2012-07-06
遇到同样的问题,帮你顶。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网