stmt = con.createStatement();
不对啊,应该为:
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,CONCUR_UPDATE);
不对啊,应该为:
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,CONCUR_UPDATE);
解决方案 »
- 我们爱分享---读取数据当中有“口”型特殊符号时解决办法(写数据时候)
- myeclipse 安装插件后的后遗症!!!(JBPM)急,谢谢!
- 请问 不经J2SE,直接进军J2EE可以吗?J2EE有哪些较好入门材料 谢谢
- 关于Apache commons Fileupload
- tomcat和数据库连接池
- 关于用struts1.1结构连接数据库的小问题
- J2EE1.3中怎样配置数据库
- **各位能给我介绍一下J2EE的概念吗?????
- service层代码 为何大多建个接口,让service实现类来继承
- spring+mybatis maven 项目的一个错误
- 我在使用了TOMCAT中自带的连接池后,使用JDBC中的事务管理会运行错误。请问怎么处理多连接和多数据源的事务处理。谢谢!
- 求职中遇到的问题:对Java程序员来说,Unix背景究竟有何影响?
This JDBC 2.0 method is not implemented
会不会还是和驱动有关系呢?连接数据库:
private String url = "jdbc:weblogic:mssqlserver4:";
private String serverName = "192.168.0.125"; //缺省配置参数
private String portNumber = "1433";
private String databaseName = "fujian_db";
private String userName = "sa";
private String password = "yang"; private java.sql.Connection con = null;
private Statement stmt = null;
private Statement stmtNum = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;
private int resultNum = 0;
private ResultSet countRs = null;
private int rsNum = 0;
public int stateNum1;
/** 构造函数 **/
public OpenDb() {
stateNum1 = 1;
try{
Class.forName("weblogic.jdbc.mssqlserver4.Driver").newInstance();
con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}catch(Exception e){
e.printStackTrace();
System.out.println("数据库连接错误 : " + e.getMessage());
}
} private String getConnectionUrl(){
return url + databaseName + "@" + serverName;
}
我已经加上这个参数了,可还是抱错啊
在调用executeQuery时就会抱错:数据库连接错误 : This JDBC 2.0 method is not implementedpackage opendb;
import java.sql.*;/**
* 连接数据库bean
* 用法:OpenDb db=new OpenDb();
* 查询:db.executeQuery(sql);
* 更新:db.executeUpdate(sql);
*/
public class OpenDb{
private String url = "jdbc:weblogic:mssqlserver4:";
private String serverName = "192.168.0.125"; //缺省配置参数
private String portNumber = "1433";
private String databaseName = "fujian_db";
private String userName = "sa";
private String password = "yang"; private java.sql.Connection con = null;
private Statement stmt = null;
private Statement stmtNum = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;
private int resultNum = 0;
private ResultSet countRs = null;
private int rsNum = 0;
public int stateNum1;
/** 构造函数 **/
public OpenDb() {
stateNum1 = 1;
try{
Class.forName("weblogic.jdbc.mssqlserver4.Driver").newInstance();
con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
}catch(Exception e){
e.printStackTrace();
System.out.println("数据库连接错误 : " + e.getMessage());
}
} private String getConnectionUrl(){
return url + databaseName + "@" + serverName;
} /**
* 检查SQL语句:清除不非法的语句
* @param sql SQl语句
* @return sql SQL语句
*/
public ResultSet executeNormalQuery(String sql) {
rs = null;
countRs = null; try {
rs = stmt.executeQuery(sql);
stmtNum = con.createStatement();
} catch(SQLException se) {
System.out.println("查询错误:" + se.getMessage());
}
return rs;
}
/**
* 执行SQL语句:查询记录
* @param sql SQL语句
* @return ResultSet 记录集
*/
public ResultSet executeQuery(String sql) {
rs = null;
countRs = null;
int i = sql.indexOf(" from (");
i = sql.indexOf(" from ");
String tempSql=sql.substring(i);
tempSql = "select count(*) " + tempSql;
i = tempSql.indexOf("ORDER BY");
if( i != -1)
tempSql = tempSql.substring(0,i);
i = tempSql.indexOf("order by");
if( i != -1)
tempSql.substring(0,i); try {
rs = stmt.executeQuery(sql);
stmtNum = con.createStatement();
countRs = stmtNum.executeQuery(tempSql);
} catch(SQLException se) {
System.out.println("查询错误:" + se.getMessage());
} try{
if (countRs.next())
rsNum=countRs.getInt(1);
}
catch(SQLException se) {
System.out.println("查询错误:" + se.getMessage());
}
return rs;
} public void executeQueryNum(String sql) {
countRs = null;
int i=sql.indexOf(" from ");
if(i==-1)
i=sql.indexOf(" FROM ");
String tempSql=sql.substring(i);
tempSql = "select count(*) " + tempSql;
i = tempSql.indexOf("ORDER BY");
System.out.println(i);
if( i != -1)
tempSql.substring(0,i); try {
stmtNum = con.createStatement();
countRs = stmtNum.executeQuery(tempSql);
}
catch(SQLException se) {
System.out.println("查询错误:" + se.getMessage());
} try{
if (countRs.next())
rsNum=countRs.getInt(1);
}
catch(SQLException se) {
System.out.println("查询错误:" + se.getMessage());
} } public void setStateNum(int setState) { stateNum1 = setState; } /**
* 返回记录数
* @ param void
* @ return rsNumb
*/
public int getRsNum()
{
return rsNum;
}
/**
* 批量处理
* @param sql SQL语句
* @return PreparedStatement pstmt;
*/
public java.sql.PreparedStatement preparedStatement(String sql){
pstmt = null;
try {
pstmt = con.prepareStatement(sql); }catch(SQLException e) {
System.out.println("查询错误:" + e.getMessage());
}
return pstmt;
} /**
* 执行SQL语句 :插入与更新记录
* @param sql SQL语句
* @return int resultNum 更新的记录数
*/
public int executeUpdate(String sql) {
resultNum = 0;
try {
resultNum = stmt.executeUpdate(sql);
} catch (SQLException se) {
System.err.println("更新错误:" + se.getMessage());
}
return resultNum;
}
/**
* 获取数据库相关信息,驱动名称,版本,数据库产品版本等
*/
public void displayDbProperties(){
java.sql.DatabaseMetaData dm = null;
java.sql.ResultSet rs = null;
try{
if (con != null) {
dm = con.getMetaData();
System.out.println("Driver Information");
System.out.println("\tDriver Name: " + dm.getDriverName());
System.out.println("\tDriver Version: " + dm.getDriverVersion ());
System.out.println("\nDatabase Information ");
System.out.println("\tDatabase Name: " + dm.getDatabaseProductName());
System.out.println("\tDatabase Version: " + dm.getDatabaseProductVersion());
System.out.println("Avalilable Catalogs ");
rs = dm.getCatalogs();
while (rs.next()) {
System.out.println("\tcatalog: "+ rs.getString(1));
}
rs.close();
rs = null;
closeConnection();
}else System.out.println("Error: No active Connection");
}catch(Exception e) {
e.printStackTrace();
}
dm=null;
}
/**
* 关闭连接
*/
public void closeConnection(){
try {
if (rs != null) {
rs.close();
rs = null;
} if (countRs != null) {
countRs.close();
countRs = null;
} if (stmt != null) {
stmt.close();
stmt = null;
} if (stmtNum != null) {
stmtNum.close();
stmtNum = null;
}
if (con != null) {
con.close();
con = null;
}
} catch (SQLException se) {
System.out.println("数据库关闭错误: " + se.getMessage());
} }}