原文件是这样的:
import java.sql.*;
public class UserBean{
private String user="";
private String password="";
private int id;
private String name;
private String city;
private Date lastvisite;
private int times;
public String getUser()
{
return user;
}
public void setUser(String value)
{
user=value;
}
public String getPassword()
{
return password;
}
public void setPassword(String value)
{
password=value;
}
public int getId()
{
return id;
}
public String getName()
{
return name;
}
public String getCity()
{
return city;
}
public Date getLastvisite()
{
return lastvisite;
}
public int getTimes()
{
return times;
}
public boolean sel_user()
{
Connection conn;
CallableStatement stmt;
ResultSet set;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myshop";
String user_1="sa";
String password_1="";
conn=DriverManager.getConnection(url,user_1,password_1);
String strSQL="{call sel_user(?,?)}";
stmt=conn.prepareCall(strSQL);
stmt.setString(1,user);
stmt.setString(2,password);
set=stmt.executeQuery();
if (set.next())
{
id=set.getInt("id");
name=set.getString("姓名");
city=set.getString("地址");
lastvisite=set.getDate("上次登陆");
times=set.getInt("登陆次数");
return true;
}
else
{
return false;
}
}}
import java.sql.*;
public class UserBean{
private String user="";
private String password="";
private int id;
private String name;
private String city;
private Date lastvisite;
private int times;
public String getUser()
{
return user;
}
public void setUser(String value)
{
user=value;
}
public String getPassword()
{
return password;
}
public void setPassword(String value)
{
password=value;
}
public int getId()
{
return id;
}
public String getName()
{
return name;
}
public String getCity()
{
return city;
}
public Date getLastvisite()
{
return lastvisite;
}
public int getTimes()
{
return times;
}
public boolean sel_user()
{
Connection conn;
CallableStatement stmt;
ResultSet set;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myshop";
String user_1="sa";
String password_1="";
conn=DriverManager.getConnection(url,user_1,password_1);
String strSQL="{call sel_user(?,?)}";
stmt=conn.prepareCall(strSQL);
stmt.setString(1,user);
stmt.setString(2,password);
set=stmt.executeQuery();
if (set.next())
{
id=set.getInt("id");
name=set.getString("姓名");
city=set.getString("地址");
lastvisite=set.getDate("上次登陆");
times=set.getInt("登陆次数");
return true;
}
else
{
return false;
}
}}
--------------------Configuration: JDK version 1.5.0_03 <Default>--------------------
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:51: 未报告的异常 java.lang.ClassNotFoundException;必须对其进行捕捉或声明以便抛出
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:51: 未报告的异常 java.lang.InstantiationException;必须对其进行捕捉或声明以便抛出
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:55: 未报告的异常 java.sql.SQLException;必须对其进行捕捉或声明以便抛出
conn=DriverManager.getConnection(url,user_1,password_1);
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:57: 未报告的异常 java.sql.SQLException;必须对其进行捕捉或声明以便抛出
stmt=conn.prepareCall(strSQL);
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:58: 未报告的异常 java.sql.SQLException;必须对其进行捕捉或声明以便抛出
stmt.setString(1,user);
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:59: 未报告的异常 java.sql.SQLException;必须对其进行捕捉或声明以便抛出
stmt.setString(2,password);
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:60: 未报告的异常 java.sql.SQLException;必须对其进行捕捉或声明以便抛出
set=stmt.executeQuery();
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:61: 未报告的异常 java.sql.SQLException;必须对其进行捕捉或声明以便抛出
if (set.next())
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:63: 未报告的异常 java.sql.SQLException;必须对其进行捕捉或声明以便抛出
id=set.getInt("id");
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:64: 未报告的异常 java.sql.SQLException;必须对其进行捕捉或声明以便抛出
name=set.getString("姓名");
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:65: 未报告的异常 java.sql.SQLException;必须对其进行捕捉或声明以便抛出
city=set.getString("地址");
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:66: 未报告的异常 java.sql.SQLException;必须对其进行捕捉或声明以便抛出
lastvisite=set.getDate("上次登陆");
^
C:\Program Files\Xinox Software\JCreator Pro\MyProjects\UserBean.java:67: 未报告的异常 java.sql.SQLException;必须对其进行捕捉或声明以便抛出
times=set.getInt("登陆次数");
^
13 错误Process completed.------------------------------------------------------------------------------------------
我测试过一个差不多的文件,在TOMCAT中没有问题的,为什么会在生成CLASS文件的时候出问题呢,那位大哥可以帮帮忙啊!!!
你把JDBC_SQLServer安装目录下lib目录中的三个jar文件导入库中就可以找到驱动了
{
try {
Connection conn;
CallableStatement stmt;
ResultSet set;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myshop";
String user_1="sa";
String password_1="";
conn=DriverManager.getConnection(url,user_1,password_1);
String strSQL="{call sel_user(?,?)}";
stmt=conn.prepareCall(strSQL);
stmt.setString(1,user);
stmt.setString(2,password);
set=stmt.executeQuery();
if (set.next())
{
id=set.getInt("id");
name=set.getString("姓名");
city=set.getString("地址");
lastvisite=set.getDate("上次登陆");
times=set.getInt("登陆次数");
return true;
}
else
{
return false;
}
}catch(Exception e) {
e.printStackTrace();
return false; //一定要有返回值
}
}
1、没有对会抛出异常的代码已经处理,要么try...catch..要么在方法声明上throws XXException{...}
2、确定import进了MS SQL SERVER的JDBC包,并且所有的包已经在classpath中了
{
Connection conn = null ; //modified,for initial
CallableStatement stmt = null ;//modified,for initial
ResultSet set = null ; //modified,for initial
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myshop";
String user_1="sa";
String password_1="";
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
conn=DriverManager.getConnection(url,user_1,password_1);
String strSQL="{call sel_user(?,?)}";
stmt=conn.prepareCall(strSQL);
stmt.setString(1,user);
stmt.setString(2,password);
set=stmt.executeQuery();
if (set.next())
{
id=set.getInt("id");
name=set.getString("姓名");
city=set.getString("地址");
lastvisite=set.getDate("上次登陆");
times=set.getInt("登陆次数");
return true;
}
else
{
return false;
}
} catch (Exception e){//----added
e.printStackTrace();
throw e;
} finally { //close DataBase Connection
closeConnection(conn,stmt,set);
}//--added
return true;
}
//added
private static synchronized void closeConnection(
Connection conn,
Statement statement,
ResultSet rSet) throws SQLException{
if (rSet != null) {
try {
rSet.close();
rSet = null;
} catch (SQLException e) {
throw e;
}
}
if (statement != null) {
try {
statement.close();
statement = null;
} catch (SQLException e) {
throw e;
}
}
if (conn != null) {
try {
conn.close();
conn = null;
} catch (SQLException e) {
throw e;
}
}
}