请问如何解释清楚下面的Java代码?
packagebean;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLExce...
package bean;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;
import util.*;
public class UserLoginBean {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
ArrayList al = new ArrayList();
public int login(String name,String pwd){
int temp = 0;
conn = DBConn.getConn();
try {
st = conn.createStatement();
rs = st.executeQuery("select * from admin where name='"+name+"'");
if(rs.next()){
String id = rs.getString("id");
String tname = rs.getString("name");
String tpwd = rs.getString("pwd");
String degree = rs.getString("degree");
String popedom = rs.getString("popedom");
if(pwd.equals(tpwd)){
temp = 1;
al.add(id);
al.add(tname);
al.add(tpwd);
al.add(degree);
al.add(popedom);
}else{
temp = 2;
}
}else{
temp = 3;
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
DBConn.close(conn,st,rs);
}
return temp;
}
public ArrayList getArrayLst(){
return al;
}
} 展开
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;
import util.*;
public class UserLoginBean {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
ArrayList al = new ArrayList();
public int login(String name,String pwd){
int temp = 0;
conn = DBConn.getConn();
try {
st = conn.createStatement();
rs = st.executeQuery("select * from admin where name='"+name+"'");
if(rs.next()){
String id = rs.getString("id");
String tname = rs.getString("name");
String tpwd = rs.getString("pwd");
String degree = rs.getString("degree");
String popedom = rs.getString("popedom");
if(pwd.equals(tpwd)){
temp = 1;
al.add(id);
al.add(tname);
al.add(tpwd);
al.add(degree);
al.add(popedom);
}else{
temp = 2;
}
}else{
temp = 3;
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
DBConn.close(conn,st,rs);
}
return temp;
}
public ArrayList getArrayLst(){
return al;
}
} 展开
1个回答
展开全部
主要实现的是登录验证的过程
首先传入账户名和密码
然后executeQuery查表,就是查和传入的账户名一样的有几条记录
接着if(rs.next())判断(这里有BUG的,因为有可能存在重名的问题,不过这里暂且认为表中名字是唯一的)
如果有查询到的记录,就将表中字段的内容取出来进行赋值
然后temp=1我猜作用应该是标识位,
1标识找到了,也就是账号密码没错
2是找不到,登录密码出错
3表示用户名输错
当密码相同的时候,将其表中字段内容取出来放到arraylist中供后续使用操作
return temp;就是用来返回登录状态的,可以通过判断temp为几知道哪里出错(不过这里只是返回没有做后续处理)
首先传入账户名和密码
然后executeQuery查表,就是查和传入的账户名一样的有几条记录
接着if(rs.next())判断(这里有BUG的,因为有可能存在重名的问题,不过这里暂且认为表中名字是唯一的)
如果有查询到的记录,就将表中字段的内容取出来进行赋值
然后temp=1我猜作用应该是标识位,
1标识找到了,也就是账号密码没错
2是找不到,登录密码出错
3表示用户名输错
当密码相同的时候,将其表中字段内容取出来放到arraylist中供后续使用操作
return temp;就是用来返回登录状态的,可以通过判断temp为几知道哪里出错(不过这里只是返回没有做后续处理)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询