package com.db;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class Dbc {
public Connection con = null;
public Statement stmt = null;
public ResultSet rs = null; public static Connection getConnection() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@hostip:1521:fitec";
Connection con = DriverManager.getConnection(url, "train2011_2", "train2011_2"); } catch (Exception e) {
e.printStackTrace();
}
return con;这里说Cannot make a static reference to the non-static field con } public ResultSet doQuery(String sql) {
try {
con = Dbc.getConnection();
stmt = con.createStatement();
rs = stmt.executeQuery(sql); } catch (Exception e) {
e.printStackTrace();
}
return rs; } public int doUpdate(String sql) {
try {
int rs;
con = Dbc.getConnection();
stmt = con.createStatement();
rs = stmt.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
}
return rs;这里又说Type mismatch: cannot convert from ResultSet to int } public void closeConnection() {
try {
if (rs != null)
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
if (stmt != null)
stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
if (con != null)
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
新手,高手给解释一下吧
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class Dbc {
public Connection con = null;
public Statement stmt = null;
public ResultSet rs = null; public static Connection getConnection() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@hostip:1521:fitec";
Connection con = DriverManager.getConnection(url, "train2011_2", "train2011_2"); } catch (Exception e) {
e.printStackTrace();
}
return con;这里说Cannot make a static reference to the non-static field con } public ResultSet doQuery(String sql) {
try {
con = Dbc.getConnection();
stmt = con.createStatement();
rs = stmt.executeQuery(sql); } catch (Exception e) {
e.printStackTrace();
}
return rs; } public int doUpdate(String sql) {
try {
int rs;
con = Dbc.getConnection();
stmt = con.createStatement();
rs = stmt.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
}
return rs;这里又说Type mismatch: cannot convert from ResultSet to int } public void closeConnection() {
try {
if (rs != null)
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
if (stmt != null)
stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
if (con != null)
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
新手,高手给解释一下吧
解决方案 »
- 关于<Object>标签的问题
- 请问家庭博客如何理解
- Ext+struts2的问题 在线等
- 求一个Myeclipse+SQL2000数据库实例
- struts的怪问题,为何jsp中的参数无法传递到action中?
- 请教一个关于 sqlserver 里 text 类型数据问题
- 看看在jsp中这个数据库插入语句有什么错误
- 求助时间问题?
- 我按http://www-900.ibm.com/developerworks/cn/opensource/os-ectom/#IDAILS4B做,怎么出现这个错误!
- 什么问题会造成??? Cannot load JDBC driver class 'null'导致连接数据库失败
- fckeditor修改问题
- 有关JS四舍五入不会写!请高手指教!
public static Connection getConnection() {} 把static去掉public ResultSet doUpdate(String sql) {}
第二个因为你声明rs在try里面 出了try无效
在所以方法外面外面对con进行声明Connection con = null;
把static去掉
public Connection getConnection() {//不需用static定义
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@hostip:1521:fitec";
Connection con = DriverManager.getConnection(url, "train2011_2", "train2011_2"); } catch (Exception e) {
e.printStackTrace();
}
return con;
}定义的是什么类型,返回值就是什么类型
public int doUpdate(String sql) { //这里定义的是int型,就得返回int型数据,这里你想返回的
//是ResultSet型,就得把int修改为ResultSet }
修改后为
public ResultSet doUpdate(String sql){
......
}
其他的不需变
public static Connection getConnection() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@hostip:1521:fitec";
Connection con = DriverManager.getConnection(url, "train2011_2", "train2011_2");
} catch (Exception e) {
e.printStackTrace();
}
return con;
}把红色的部分去掉。你已经声明了类变量Connection conn,不用再声明了。因为你前面声明的conn是非静态的,所以要用非静态的方法访问。