// Connect Oracle Bean 
package com;
import java.sql.*; public class ConnXYJFUPD { 
String driverName = "oracle.jdbc.driver.OracleDriver"; 
Connection conn = null; 
Statement stmt = null; 
ResultSet rs = null; 
String connURL= "jdbc:oracle:thin:@134.228.9.22:1521:xyjf"; 
String UserID = "xybill";
String Password = "becareful"; public ConnXYJFUPD() { 
try { 
Class.forName(driverName); 

catch (java.lang.ClassNotFoundException e) 

System.err.println("netzero(String):" + e.getMessage()); 

} public ResultSet executeQuery(String sql) { 
try { 
conn = DriverManager.getConnection(connURL, UserID, Password); 
stmt = conn.createStatement(); 
rs = stmt.executeQuery(sql); 

catch(SQLException ex) { 
System.err.println("aq.executeQuery:" + ex.getMessage()); 

return rs; 
} public ResultSet executeUpdate(String sql) { 
try { 
conn = DriverManager.getConnection(connURL, UserID, Password); 
stmt=conn.createStatement(); 
rs = stmt.executeQuery(sql); 

catch(SQLException ex){ 
System.err.println("aq.executeQuery:" + ex.getMessage()); 

return rs; 

//下面这段一加就报错,不加就没问题
public int Update(final String SQL){
try
{
Connection Conn = Conn();
System.out.println(SQL);
Statement Smt = ConnXYJFUPD.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
int count = Smt.executeUpdate(SQL);
return count;
}
catch(SQLException e)
{
System.out.println("记录数量获取失败!");
return 0;
}
}
public boolean closeConn() { 
try { 
if (rs!=null) rs.close(); 
if (stmt!=null) stmt.close(); 
if (conn!=null) conn.close(); 
return true; 

catch ( SQLException ex ) 

System.err.println("closeConn:" + ex.getMessage()); 
return false; 

} public static void main(String args[]) { 
new ConnXYJFUPD(); 

} public int Update(final String SQL){
try
{
Connection Conn = Conn();
System.out.println(SQL);
Statement Smt = ConnXYJFUPD.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
int count = Smt.executeUpdate(SQL);
return count;
}
catch(SQLException e)
{
System.out.println("记录数量获取失败!");
return 0;
}
}这段加了就会报错,其目的是对数据库表进行更新的操作,请教大家!50分献上。

解决方案 »

  1.   

    抛出异常具体的错误是什么,为什么要传个final的参数?
      

  2.   

    错误提示 :
    找不到符号
    Connection Conn = Conn(); 
      

  3.   

    Connection Conn = Conn(); 
    Conn()这个方法定义了吗?没看到啊
      

  4.   

    Connection Conn = Conn();
    改成 
    Connection Conn=ConnXYJFUPD(); 
    就可以了?
    ConnXYJFUPD(); 定义了哦
      

  5.   


    Connection Conn = Conn(); 
    改为
    conn = DriverManager.getConnection(connURL, UserID, Password); 
    或者专门做个方法
    还有就是,楼主的这个类做得很差
    都没有调用关闭连接的方法
    另个在关闭连接的方法中,最好每个关闭对象都使用一个单独的try块
    这样避免了有一个关闭不到,其他的也相应关闭不到的缺点
      

  6.   

    package com.tarena.jdbclab;
    import java.sql.*;public class Lab3
    {
    public static void main(String[] args){
      Connection con = null;
      Statement stmt = null;   String driverName = 
      "oracle.jdbc.driver.OracleDriver";
      String url = 
      "jdbc:oracle:thin:@192.168.0.23:1521:tarena";
      String usr = "openlab";
      String pwd = "open123";
      try{
    //1.注册驱动
        Class.forName(driverName);
            
    //2.创建连接对象
    con = DriverManager.getConnection(url,usr,pwd);
    System.out.println("con->"+con); //3.创建数据库操作对象
            stmt = con.createStatement();
    System.out.println("stmt->"+stmt); //4.操作数据库(创建表,插入一条记录)
    String sql = "drop table "+args[0];
    int num = -1;
    try{
      num = stmt.executeUpdate(sql);
      System.out.println("drop table "+num);
            }catch(Exception ex){
      System.out.println("表"+args[0]+"不存在");
    }
    sql = 
     "create table "+args[0]+"(id number(8) primary key,"
     +"name varchar(15))";
    num = stmt.executeUpdate(sql);
    System.out.println("table "+
    args[0]+" created! "+num); sql = "insert into "+args[0]+
    " values(1,'Mike')";
    num = stmt.executeUpdate(sql);
            System.out.println("insert "+num+
    " record");   }catch(Exception e){
        e.printStackTrace();
      }finally{
        //6.关闭JDBC对象
    try{
      if(stmt!=null) stmt.close();
    }catch(Exception ex){
      ex.printStackTrace();
    }
    try{
      if(con!=null) con.close();
    }catch(Exception ex){
      ex.printStackTrace();
    }
      }
    }
    }