问题描述
BaseConn.java----------------------------------------------------------------------------------------------------------------------------packagenet.chat;importjava.sql.*;importjava.lang.ClassNotFoundException;publicclassBaseConn{Connectionconn=null;Statementstmt=null;PreparedStatementps=null;ResultSetrs=null;/***************************************************************************************BaseConn的构造函数,在这里完成数据库的初始化操作,即连接数据库操作**************************************************************************************/publicBaseConn()throwsSQLException,ClassNotFoundException{try{Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ChatRoom;SelectMethod=Cursor";Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");conn=DriverManager.getConnection(url,"sa","");stmt=conn.createStatement();}catch(SQLExceptione){System.out.println("ErroroccuredwhenConnectDataBase:"+e);throwe;}catch(ClassNotFoundExceptione){System.out.println("ErroroccuredwhenConnectDataBase:"+e);throwe;}}/**************************************************************************************初始化预编译的SQL语句的对象************************************************************************************/publicPreparedStatementprepaeStatement(Stringsql)throwsSQLException{try{ps=conn.prepareStatement(sql);returnps;}catch(SQLExceptione){System.out.println("ErroroccuredwhencreatepreparedStatement:"+e);throwe;}}/**************************************************************************************执行静态SQL查询语句并返回它所生成结果的对象************************************************************************************/publicResultSetececuteQuery(Stringsql)throwsSQLException{rs=null;try{rs=stmt.executeQuery(sql);}catch(SQLExceptionex){System.out.println("Erroroccuredwhenquerydatabase:"+ex);throwex;}returnrs;}/**************************************************************************************执行静态SQL查询语句并返回影响数据的条数************************************************************************************/publicintexecuteUpadate(Stringsql)throwsSQLException{try{conn.setAutoCommit(false);intre=stmt.executeUpdate(sql);conn.commit();returnre;}catch(SQLExceptione){conn.rollback();System.out.println("Erroroccuredwhenupdatedatabase:"+e);throwe;}}/**************************************************************************************执行预先SQL查询语句************************************************************************************/publicResultSetexecuteQuery()throwsSQLException{try{returnps.executeQuery();}catch(SQLExceptione){System.out.println("Erroroccuredwhenquerydatabase:"+e);throwe;}}/**************************************************************************************执行预编译的SQL更新语句************************************************************************************/publicintexecuteUpdate()throwsSQLException{try{conn.setAutoCommit(false);intr=ps.executeUpdate();conn.commit();returnr;}catch(SQLExceptione){conn.rollback();System.out.println("Erroroccuredwhenupdatadatabase:"+e);throwe;}}/**************************************************************************************数据库关闭操作************************************************************************************/publicbooleancloseDB()throwsSQLException{try{if(this.rs!=null)rs.close();if(this.stmt!=null)this.stmt.close();if(this.ps!=null)this.ps.close();if(this.conn!=null)conn.close();returntrue;}catch(SQLExceptione){System.out.println("Erroroccuredwhenclosedatabase:"+e);throwe;}}}---------------------------------------------------------------------------------------------------------------------------BaseConn.java编译通过CheckLogin.java----------------------------------------------------------------------------------------------------------------------------packagenet.chat;importjava.sql.*;importjava.util.*;importjava.text.SimpleDateFormat;importjava.lang.ClassNotFoundException;publicclassCheckLogin{/*检测用户登陆信息用户登陆的用户名用户登陆的密码*/publicStringchecklogin(StringuserName,StringuserPassword)throwsSQLException,ClassNotFoundException{BaseConnconn=null;try{conn=newBaseConn();//创建一个预先处理的SQL语句Stringsql="select*fromuserInfowherenickName=?";//创建一个预先处理的SQL对象PreparedStatementps=conn.preparedStatement(sql);ps.setString(1,userName);//从用户数据库中查询该用户名是否在数据库中ResultSetrs=conn.executeQuery();if(rs.next()){if(rs.getString("userPassword").equals(userPassword)){SimpleDateFormatcal=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Stringtime=cal.format(newjava.util.Date());//修改用户的最后登陆时间sql="updateuserinfosetlastLoginTime?wherenickName=?";ps=conn.prepareStatement(sql);ps.setString(1,time);ps.setString(2,userName);conn.executeUpdate();return"SUCCESS_LOGIN";}elsereturn"WRONG_PASSWORD";}elsereturn"NONE_USER";}catch(SQLExceptionex){ex.printStackTrace();throwex;}catch(ClassNotFoundExceptionex){ex.printStackTrace();throwex;}finally{conn.close();//关闭数据库连接,释放JDBC资源}}/*如果是新用户,则将用户登陆用户名和密码保存到数据库中*/publicbooleansaveToDataBase(StringuserName,StringuserPassword)throwsSQLException,ClassNotFoundException{BaseConnconn=null;try{conn=newBaseConn();SimpleDateFormatcal=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Stringtime=cal.format(newjava.util.Date());Stringsql="insertintouserInfo(nickName,userPassword,lastLoginTime)values(?,?,?)";PreparedStatementps=conn.prepareStatement(sql);ps.setString(1,userName);ps.setString(2,userPassword);ps.setString(3,time);conn.executeUpdate();returntrue;}catch(SQLExceptionex){ex.printStackTrace();throwex;}finally{conn.close();//关闭数据库连接,释放JDBC资源}}}------------------------------------------------------------------------------------------------------------------------------CheckLogin.java编译的时候出现错误D:ChatRoomWEB-INF>javacCheckLogin.javaCheckLogin.java:14:找不到符号符号:类BaseConn位置:类net.chat.CheckLoginBaseConnconn=null;^CheckLogin.java:17:找不到符号符号:类BaseConn位置:类net.chat.CheckLoginconn=newBaseConn();^CheckLogin.java:63:找不到符号符号:类BaseConn位置:类net.chat.CheckLoginBaseConnconn=null;^CheckLogin.java:66:找不到符号符号:类BaseConn位置:类net.chat.CheckLoginconn=newBaseConn();^4错误寻求帮助
解决方案
解决方案二:
换成eclipse来开发吧。在CheckLogin.java开头加上importnet.chat.*;
解决方案三:
更建议使用myEclipse
解决方案四:
可能是找不到BaseConn的类。可以设置一下classpath,把你的类根目录加入进去。或者编译时候直接指定如:javacclasspath=%classpath;./CheckLogin.java
解决方案五:
找不到BaseConn类。
解决方案六:
路径错咯,找不到BaseConn.java
解决方案七:
恩,可是我把CheckLogin.java放到net/chat文件夹下还是找不到。。myEclipse不会用。。