大家好,欢迎来到IT知识分享网。
package test;
import java.sql.*;
import testbean.beantest;
public class test
{
private int pwdcheck(String name,String Pwd)
{
int flag=0;
String pass= ” “;
ResultSet rs=null;
beantest checkPwd=new beantest();
String strsql= “select UserPwd from login where UserId= ‘ “+name+ ” ‘ or UserName= ‘ “+name+ ” ‘ “;
rs=checkPwd.GetRs(strsql);
try
{
while (rs.next())
{
pass=rs.getString( “UserPwd “);
}
rs.close();
if (pass.equals(Pwd))
flag=2;//密码正确
else
flag=3;//密码错误
}
catch (SQLException e)
{
flag=0;
}
return flag;
}
public int checklogin(String name,String Pwd){
ResultSet rs=null;
int count=0;
int flag=0;
beantest namecheck=new beantest();
String strsql= “select count(*) as recount from login where UserId= ‘ “+name+ ” ‘ or UserName= ‘ “+name+ ” ‘ “;
rs=namecheck.GetRs(strsql);
try{
while(rs.next())
{
count=rs.getInt( “recount “);
}
rs.close();
if(count==0)
flag=1;//用户存在
else{
if(pwdcheck(name,Pwd)==2)
flag=2;//密码正确
else
flag=3;//密码不正确
}
}
catch(SQLException e){return 0;}
return flag;
}
public static void main(String args[]){
test dd=new test();
System.out.println(dd.checklogin( “ss “, “ss “));
}
}
———————-运行结果———–
Exception in thread “main ” java.lang.NullPointException
at test.test.checklogin <50>50>
at test.test.checklogin <77>77>
—————————————-该怎么改啊—-
——解决方法——————————————————–
at test.test.checklogin <50>50>
数啊,test.java文件的第50行,你有对象没有new过
——解决方法——————————————————–
==========Beantest类都有问题
代码帮你整理了下,前面那个测试类,自己弄吧
感觉好乱..
package testbean;
import java.sql.*;
public class beantest
{
String driver= “com.microsoft.jdbc.sqlserver.SQLSercerDriver “;
String url= “jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=test “;
String user= “sa “;
String pass= ” “;
Connection Conn=null;
Statement stmt=null;
ResultSet rs=null;
public beantest()
{
DbConn();
}
private void DbConn()
{
try{
Class.forName(driver);
Conn=DriverManager.getConnection(url,user,pass);
}
catch(Exception e){
}
}
public String GetRs(String strsql)
{
try
{
stmt=Conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(strsql);
return rs;
}
catch (SQLException e)
{
return null;
}
}
——解决方法——————————————————–
select count(*) 以这个开头的永远会返回一行结果集
哪怕没有满足你后面where条件的一个数据库行
另外把as recount 这个去掉在看看
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/25934.html