java lang point类,java.lang.NullPointException异常[亲测有效]

java lang point类,java.lang.NullPointException异常[亲测有效]packagetest;importjava.sql.*;importtestbean.beantest;publicclasstest{privateintpwdcheck(Stringname,StringPwd){intflag=0;Stringpass=””;ResultSetrs=null;beantestcheckPwd=newbeantest();St…

大家好,欢迎来到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

(0)
上一篇 2023-07-03 14:00
下一篇 2023-07-03 17:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信