package db;
import java.sql.*;public class carDB
{
private Connection conn=null;
private Statement stmt=null;
ResultSet rs=null;
private String driver="org.gjt.mm.mysql.Driver";
public String url;
public String user;
public String password;

public carDB()
{
try
{
Class.forName(driver);
}
catch(Exception e)
{
System.out.println("无法加载mysql驱动程序:"+driver);
e.printStackTrace();
}
}

public ResultSet executeQuery(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("查询出错: "+ex.getMessage());
}
return rs;
}

public String executeUpdate(String sql)
{
stmt=null;
rs=null;
try
{
conn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
return "";
}
catch(SQLException e)
{
return "执行操作时出现如下错误:"+e.getMessage();
}
}

public void closeStmt()
{
try
{
stmt.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}

public void closeConn()
{
try
{
conn.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}

}

解决方案 »

  1.   

    不行啊。问题不是出在这里的啦。是因为用main测试的时候才会无法编译通过!而在jsp页面中,用useBean就可以了!
      

  2.   

    回复人: gxdragon(云横秦岭) ( ) 信誉:100  2004-08-24 16:15:00  得分: 0  
     
     
       天啦,现在的人怎么都不打基础!
      
     
    什么意思?难道初学者学习连接数据库有错吗?
      

  3.   

    你用javac就必须制定程序的classpath,你的driver一定没有包含在那里;
    你用jsp调用,服务器自动会在你的lib目录里找,如果有了就正常。
      

  4.   

    同志,jsp的exception由应用容器自动捕获,但你用main这个异常必须自己来处理。最简单粗暴的方法就是直接把异常抛出来:
    import java.sql.*;
    public class  jdbc
    {
    String Host;
    String Database;
    String User;
    String Pass;
    Connection conn;
    public jdbc(){
    Host="127.0.0.1";//设置主机IP
    Database="MyFirst";//设置数据名
    User="root";//设置用户名
    Pass="";//设置密码
    }
    public Connection getConn() throws Exception
    {
    try{
              Class.forName("org.gjt.mm.mysql.Driver").newInstance();
              String url ="jdbc:mysql://"+Host+":3306/"+Database+"?user="+User+"&password="+Pass+"&useUnicode=true&characterEncoding=gb2312" ;
              conn= DriverManager.getConnection(url);
            }
            catch(Exception e){
              e.printStackTrace();
            }
            return this.conn;
    }
            public static void main(String[] args) throws Exception{
      jdbc jd= new jdbc();
      Connection con = jd.getConn();
      Statement GbStmt=con.createStatement();
      String Sql="select * from guestbook;";
      ResultSet GbRs=GbStmt.executeQuery(Sql);
      }
    }
    建议你先学习好java的基础。
      

  5.   

    icewolf_li(冰狼) 
    gxdragon(云横秦岭)
    谢谢你的提醒与关注!
    现在我的问题已经解决了!
    其实你的建议没错,不过我想每个人都有他们学习的一种方法吧,我在学asp的时候就是在没有任何基础的情况下看人家的源代码学会的——当然,后面遇到了很多问题都跟基础有关。我现在虽然不算得上asp的高手,但是通过近一年的学习,已经可以很好地使用asp了(我现在从事asp的工作)。
    所以,我希望我也可以这样来学java。或许,我这种想法很多人都会来笑话的,但是,我要告诉你,通过近段时间的学习,我真的是挺有进步了。不强求大家支持,但也希望大家可以以一种宽容的态度看待我的学习方式。我会努力的,当然,我努力的同时也离不开大家的帮助,希望大家在我遇到问题的同时可以加以指导,谢谢了!
      

  6.   

    我的MSN是:[email protected]
    有兴趣一起学习或者可以帮助学习的朋友可以加我!