刚学Servlet和MySql,以下是程序代码.为什么注释部分不能执行(不加注释可以).请大家帮忙看看哪里出了问题了.谢谢~
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;public class CreateDB extends HttpServlet
{
private String url;
private String user;
private String password;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;public class CreateDB extends HttpServlet
{
private String url;
private String user;
private String password;

public void init() throws ServletException
{
String driverClass = getInitParameter("driverClass");
url = getInitParameter("url");
user = getInitParameter("user");
password = getInitParameter("password");
try
{
Class.forName(driverClass);
}
catch (ClassNotFoundException ce)
{
throw new UnavailableException("加载数据库失败");
}
}

public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
{
Connection conn = null;
Statement stmt = null;

try
{
conn = DriverManager.getConnection(url,user,password);
stmt = conn.createStatement();
//stmt.executeUpdate("create database bookstore");
//stmt.executeUpdate("use bookstore");
//stmt.executeUpdate("create table bookinfo(id INT)");
//stmt.addBatch("insert into bookinfo values(1)");
//stmt.executeBatch();

PrintWriter out = res.getWriter();
out.println("sucess");
out.close();
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}

解决方案 »

  1.   

    1 确信你拿到了conn?
    conn   =   DriverManager.getConnection(url,user,password); 
    System.out.println("conn="+conn); // 看看是否等于null;
    stmt   =   conn.createStatement(); 
    System.out.println("stmt   ="+stmt   ); // 看看是否等于null;2 确认你的username 有权限创建数据库!?
      

  2.   

    这是我测试的一个连接数据库的例子.
    import java.sql.Connection;
    import java.sql.DriverManager;public class Conn {
    public static Connection getConn() {
    Connection conn = null;
    String driver = "com.mysql.jdbc.Driver";
    String sourse = "jdbc:mysql://127.0.0.1:3306/mysql?characterEncoding=utf-8";
    try {
    Class.forName(driver);
    conn = DriverManager.getConnection(sourse, "root", "12345678");
    } catch (Exception e) {
    System.out.println(e.toString());
    }
    return conn;
    }public static void main(String[] args) {
    System.out.println("Hello!" + Conn.getConn());
    }

    返回的值是Hello!com.mysql.jdbc.Connection@e24e2a.想问下这个是不是说明能连接上了.
      

  3.   

    怎么解决的?我也出现了这样的问题 tomcat中说 int num=ps.executeUpdate("update users set grade=3 where  id=2") ;出错, 我用的也是mysql