当前位置: 技术问答>java相关
相同的两个东东一个对一个错(高手,低手都...完了csdn出错上次的)
来源: 互联网 发布时间:2015-02-02
本文导语: 我用jsp页连mysql是对的入下 ----------------------------------------------------- mysql ----------------------------------------------- 但我用EJB连mysql就不对了 ---------------------------------------------- package Query; import java.sql.*; import java....
我用jsp页连mysql是对的入下
-----------------------------------------------------
mysql
-----------------------------------------------
但我用EJB连mysql就不对了
----------------------------------------------
package Query;
import java.sql.*;
import java.util.*;
public class MySQL_Query{
Connection con = null;
Statement stmt = null;
ResultSet result = null;
//------------>连接数据库
public boolean Open() {
try{
Class.forName("org.gjt.mm.mysql.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cydb?user=root;password=");
stmt = con.createStatement();
//加载 mm.mysql.driver
} catch (java.lang.ClassNotFoundException e)
//如果加载时出错,给出相应的错误信息
{
System.err.print("Class not found exception occur. Message is:");
System.err.print(e.getMessage());
return false;
}
return true;
}
//------------>执行查询返回为记录
public ResultSet Query(String sql)
{
ResultSet result = null;
try{
//执行插入数据的操作
result = stmt.executeQuery(sql);
} catch (SQLException e) {
//如果SQL语句执行的过程中出错,则显示出相应的错误信息
System.err.print("SQL Exception occur. Message is:");
System.err.print(e.getMessage());
result = null;
}
return result;
}
//--------------->更新数据
public boolean Update(String sql)
{
try
{
stmt.executeUpdate(sql);
}
catch(SQLException e)
{
System.err.println("Update(): " + e.getMessage());
return false;
}
return true;
}
//---------------->关闭连接
public boolean Close()
{
try
{
stmt.close();
con.close();
}
catch(SQLException e)
{
System.err.println("query(): " + e.getMessage());
return false;
}
return true;
}
}
---------------------------------------------------------
错误入下
--------------------------------------------------------
500 Servlet Exception
e:webWEB-INFclassesQueryMySQL_Query.java:15: 异常 java.sql.SQLException
必须被捕获,或在此方法的 throws 子句中被声明。
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cydb?user=root;password=");
^
1 个错误
--------------------------------------------------------------------------------
Resin 2.0.2 (built Mon Aug 27 16:52:49 PDT 2001)
----------------------------------------------------
cydb是我建的一个数据库.jsp连接是正确的.为什么EJB不对了
-----------------------------------------------------
mysql
-----------------------------------------------
但我用EJB连mysql就不对了
----------------------------------------------
package Query;
import java.sql.*;
import java.util.*;
public class MySQL_Query{
Connection con = null;
Statement stmt = null;
ResultSet result = null;
//------------>连接数据库
public boolean Open() {
try{
Class.forName("org.gjt.mm.mysql.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cydb?user=root;password=");
stmt = con.createStatement();
//加载 mm.mysql.driver
} catch (java.lang.ClassNotFoundException e)
//如果加载时出错,给出相应的错误信息
{
System.err.print("Class not found exception occur. Message is:");
System.err.print(e.getMessage());
return false;
}
return true;
}
//------------>执行查询返回为记录
public ResultSet Query(String sql)
{
ResultSet result = null;
try{
//执行插入数据的操作
result = stmt.executeQuery(sql);
} catch (SQLException e) {
//如果SQL语句执行的过程中出错,则显示出相应的错误信息
System.err.print("SQL Exception occur. Message is:");
System.err.print(e.getMessage());
result = null;
}
return result;
}
//--------------->更新数据
public boolean Update(String sql)
{
try
{
stmt.executeUpdate(sql);
}
catch(SQLException e)
{
System.err.println("Update(): " + e.getMessage());
return false;
}
return true;
}
//---------------->关闭连接
public boolean Close()
{
try
{
stmt.close();
con.close();
}
catch(SQLException e)
{
System.err.println("query(): " + e.getMessage());
return false;
}
return true;
}
}
---------------------------------------------------------
错误入下
--------------------------------------------------------
500 Servlet Exception
e:webWEB-INFclassesQueryMySQL_Query.java:15: 异常 java.sql.SQLException
必须被捕获,或在此方法的 throws 子句中被声明。
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cydb?user=root;password=");
^
1 个错误
--------------------------------------------------------------------------------
Resin 2.0.2 (built Mon Aug 27 16:52:49 PDT 2001)
----------------------------------------------------
cydb是我建的一个数据库.jsp连接是正确的.为什么EJB不对了
|
在EJB中:
try{
Class.forName("org.gjt.mm.mysql.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cydb?user=root;password=");
stmt = con.createStatement();
//加载 mm.mysql.driver
} catch (java.lang.ClassNotFoundException e)
这个地方你只捕获了Class.forName可能产生的ClassNotFoundException,而没有捕获con=DriverManager.getConnection可能产生的SQLException,所以会出错
而在你的jsp中
try{
Class.forName("org.gjt.mm.mysql.Driver");
//加载 mm.mysql.driver
} catch (java.lang.ClassNotFoundException e)
这里的try...catch中异常捕获是对的,同时你把con=DirverManager.getConnection这一段可能产生SQLException的语句放在了后面一个try...catch(SQLException e)中了,当然就可以正常运行了。
try{
Class.forName("org.gjt.mm.mysql.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cydb?user=root;password=");
stmt = con.createStatement();
//加载 mm.mysql.driver
} catch (java.lang.ClassNotFoundException e)
这个地方你只捕获了Class.forName可能产生的ClassNotFoundException,而没有捕获con=DriverManager.getConnection可能产生的SQLException,所以会出错
而在你的jsp中
try{
Class.forName("org.gjt.mm.mysql.Driver");
//加载 mm.mysql.driver
} catch (java.lang.ClassNotFoundException e)
这里的try...catch中异常捕获是对的,同时你把con=DirverManager.getConnection这一段可能产生SQLException的语句放在了后面一个try...catch(SQLException e)中了,当然就可以正常运行了。