这是什么原因造成的 CLASS编译出错!!!

kaxi 2003-08-22 09:52:47
package com.kaxi.info.dbconn;

import java.io.PrintStream;
import java.sql.*;
import java.util.StringTokenizer;

/**
* 该类用于数据事务处理
*/

public class DbTrans {

public static Connection conn;
Statement stmt;
boolean isAutoCommit;

/**
* 构造函数
*/
public DbTrans(){
initConnection();
}

/**
* 带参数的构造函数
* @param conn 连接
*/
public DbTrans(Connection conn){
this.conn = conn;
}

/**
* 初始化建立连接
*/
private void initConnection(){
try{
if(conn == null){
DBConnectionManager connMgr=DBConnectionManager.getInstance();
conn = connMgr.getConnection("mysql");
}
}
catch(Exception ex){
System.out.println("Can not get new Connection"+ex.getMessage());
}
}

public PreparedStatement getPreparedStmt(String sql) throws SQLException{
PreparedStatement preStmt=null;
try {
preStmt = conn.prepareStatement(sql);
}
catch(SQLException ex){
ex.printStackTrace();
throw ex;
}
return preStmt;
}

/**
* 过程开始
* @throws SQLException 捕捉错误
*/
public void beginTrans() throws SQLException {
try {
isAutoCommit = conn.getAutoCommit();
conn.setAutoCommit(false);
}
catch(SQLException ex) {
ex.printStackTrace();
System.out.print("beginTrans Errors");
throw ex;
}
}

/**
* 数据事务提交
* @throws SQLException 捕捉错误
*/
public void commit() throws SQLException {
try{
conn.commit();
conn.setAutoCommit(isAutoCommit);
}
catch(SQLException ex) {
ex.printStackTrace();
System.out.print("Commit Errors!");
throw ex;
}
}

/**
* 数据事务回滚
*/
public void roolback() {
try {
conn.rollback();
conn.setAutoCommit(isAutoCommit);
}
catch(SQLException ex) {
ex.printStackTrace();
System.out.print("Roolback Error!");
}
}

/**
* 判断是否为自动加入数据模式
* @return boolean值
* @throws SQLException 捕捉错误
*/
public boolean getAutoCommit() throws SQLException {
boolean result = false;
try {
result = conn.getAutoCommit();
}
catch(SQLException ex) {
ex.printStackTrace();
System.out.println("getAutoCommit fail "+ex.getMessage());
throw ex;
}
return result;
}

/**
* executeQuery操作,用于数据查询,主要是Select
* @param sql 查询字段
* @return 数据集
* @throws SQLException 捕捉错误
*/
public ResultSet executeQuery(String sql) throws SQLException {
ResultSet rs = null;
try {
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch (SQLException ex) {
ex.printStackTrace();
System.out.println("dbTrans.executeQuery:"+ex.getMessage());
throw ex;
}
return rs;
}

/**
* executeUpdate操作,用于数据更新,主要是Update,Insert
* @param sql 查询字段
* @throws SQLException 捕捉错误
*/
public void executeUpdate(String sql) throws SQLException {
try {
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
}
catch (SQLException ex) {
ex.printStackTrace();
System.out.println("dbTrans.executeUpdate:"+ex.getMessage());
throw ex;
}
}

public int[] doBatch(String sql) throws SQLException {
int[] rowResult=null;
String a;
try{
stmt = conn.createStatement();
StringTokenizer st=new StringTokenizer(sql,";");
while (st.hasMoreElements()) {
a = st.nextToken();
stmt.addBatch(a);
}
rowResult=stmt.executeBatch();
}
catch (SQLException ex) {
ex.printStackTrace();
System.out.println("dbTrans.doBatch"+ex.getMessage());
throw ex;
}
return rowResult;
}

/**
* 关闭对象
* @throws SQLException 捕捉错误
*/
public void close() throws SQLException{
if(conn != null) conn.close();
//if(rset != null) rset.close();
if(stmt != null) stmt.close();
}
/*
public void close() throws SQLException {
try {
stmt.close();
stmt = null;
conn.close();
conn = null;
}
catch (SQLException ex) {
ex.printStackTrace();
System.out.println("Closeing connection fail"+ex.getMessage());
throw ex;
}
}
*/
/**
* 收尾和垃圾收集
* @throws Throwable 捕捉错误
*/
//protected void finalize() throws Throwable{
// close();
//}
}
用JAVAC 编译时出错显示
dbtrans.java:45: cannot resolve symbol
symbol : class DBConnectionManager
location: class com.kaxi.info.dbconn.DbTrans
DBConnectionManager connMgr=DBConnectionManager.getInstance();
^
dbtrans.java:45: cannot resolve symbol
symbol : variable DBConnectionManager
location: class com.kaxi.info.dbconn.DbTrans
DBConnectionManager connMgr=DBConnectionManager.getInstance();
^
2 errors

能帮我看看哪里错了吗 谢谢
...全文
59 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaxi 2003-08-23
  • 打赏
  • 举报
回复
重起了一下机器 就OK 了
我的JAVA环境没问题 程序也没问题 谢谢回答我问题的朋友
kaxi 2003-08-23
  • 打赏
  • 举报
回复
CLASSPATH
D:\j2sdk\lib\tools.jar;D:\j2sdk\lib\dt.jar;

这个吗 我设了呀 别的 CLASS 编译都正常的
就关于 DBConnectionManager 都不正常
zcjl 2003-08-23
  • 打赏
  • 举报
回复
classpath=".;C:\jdk\……"
---
千万别漏掉这个点
:)
周末,大家要高高兴兴的嘛
吵架可不好
kaxi 2003-08-23
  • 打赏
  • 举报
回复
靠 不要骂人吗
以为你会就了不起了 JAVA的书我是没看 怎么
lijunisbug 2003-08-23
  • 打赏
  • 举报
回复
你是一头猪!!!!

这么简单的问题都要问人!!!!

你有没有好好的看java基本书???
kaxi 2003-08-23
  • 打赏
  • 举报
回复
jkit(郁闷之堕落的程序员)
能说清楚点吗 谢谢
jkit 2003-08-23
  • 打赏
  • 举报
回复
你的classpath包括了当前目录 .; 吗?
kaxi 2003-08-23
  • 打赏
  • 举报
回复
有没有高手能搞定呀
seaman0916 2003-08-23
  • 打赏
  • 举报
回复
Sorry! 我还没研究连接池!
kaxi 2003-08-22
  • 打赏
  • 举报
回复
我这个JAVA环境好像 只要JAVA的文件里包含 另一个类或调用 就没法JAVAC 编译了 是这造成的吗
kaxi 2003-08-22
  • 打赏
  • 举报
回复
import java.io.*;
import java.sql.*;
import java.util.*;
import java.util.Date;

/**
* 管理类DBConnectionManager支持对一个或多个由属性文件定义的数据库连接
* 池的访问.客户程序可以调用getInstance()方法访问本类的唯一实例.
*/
public class DBConnectionManager {

static private DBConnectionManager instance; // 唯一实例
static private int clients;

private Vector drivers = new Vector();
private PrintWriter log;
private Hashtable pools = new Hashtable();

/**
* 返回唯一实例.如果是第一次调用此方法,则创建实例
*
* @return DBConnectionManager 唯一实例
*/
static synchronized public DBConnectionManager getInstance() {

if (instance == null) {
instance = new DBConnectionManager();
}
clients++;
return instance;
}


/**
* 建构函数私有以防止其它对象创建本类实例
*/
private DBConnectionManager() {
init();
}
文件太长 贴不下 这是DBConnectionManager 类 上边一部分的代码 看看有问题吗
kaxi 2003-08-22
  • 打赏
  • 举报
回复
static private DBConnectionManager instance; // 唯一实例

是这个吗
Wnyu 2003-08-22
  • 打赏
  • 举报
回复
DBConnectionManager是不是定义为Private类?
kaxi 2003-08-22
  • 打赏
  • 举报
回复
我把 这两行注释掉就可以编译了 怎么搞的 没有他们又怎么用哪 能帮我找出问题吗 谢谢
import com.kaxi.info.dbconn.DBConnectionManager;

DBConnectionManager connMgr=DBConnectionManager.getInstance();
kaxi 2003-08-22
  • 打赏
  • 举报
回复
没人有能帮我解决吗 :(
kaxi 2003-08-22
  • 打赏
  • 举报
回复
DBConnectionManager.class 和他在同一个目录下的
jkit 2003-08-22
  • 打赏
  • 举报
回复
com.kaxi.info.dbconn.DBConnectionManager;所在的jar没有放到classpath里面去
kaxi 2003-08-22
  • 打赏
  • 举报
回复
我在上边加了 它
import com.kaxi.info.dbconn.DBConnectionManager;
还是有错

dbtrans.java:5: cannot resolve symbol
symbol : class DBConnectionManager
location: package dbconn
import com.kaxi.info.dbconn.DBConnectionManager;
^
dbtrans.java:46: cannot resolve symbol
symbol : class DBConnectionManager
location: class com.kaxi.info.dbconn.DbTrans
DBConnectionManager connMgr=DBConnectionManager.getInstance();
^
dbtrans.java:46: cannot resolve symbol
symbol : variable DBConnectionManager
location: class com.kaxi.info.dbconn.DbTrans
DBConnectionManager connMgr=DBConnectionManager.getInstance();
^
3 errors
bluemeteor 2003-08-22
  • 打赏
  • 举报
回复
DBConnectionManager 这个类在哪里定义的?你没有import
jkit 2003-08-22
  • 打赏
  • 举报
回复
你没有import DBConnectionManager 类
加载更多回复(1)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧