如何用jsp来执行MYSQL语句?如执行一段创建表的sql语句...

解决方案 »

  1.   

    写一个JDBC连接,然后创建表,如果你的用户有权限应该没有问题你在JSP中没写过SQL语句吗,创建表应该是一样的.
      

  2.   

    JSP里直接寫Java代碼,舉個例子
    <%
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn = DriverManager.getConnection("jdbc:odbc:SchoolDS","","");
    Statement stat = conn.createStatement();

    String sql = "insert into t_student(stuid,stuname) values('0056','XiaoGang')";
    int i = stat.executeUpdate(sql);
    System.out.println("Insert " + i +" record");
    stat.close();
    conn.close();%>
      

  3.   

    执行创建表的语句和别的语句只有SQL不一样,其余的还是一样的。
      

  4.   

    最后执行语句的时候还是用这句吗??stat.executeUpdate(“创建表的语句”); 
      

  5.   

      是的,执行的时候也要加上。我给你一种很全面的写法吧:
       package DataBases;import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;public class DataBase { // 在这里要写一个结果集getResult(sql)的方法和一个getPreparedStatement的方法
    public ResultSet result = null;// 查询结果数据集 public String query_statement;// 定义SQL语句 // 设置SQL查询语句 public void setQuerystatement(String query_statement) {
    this.query_statement = query_statement;
    } private static Connection conn; private DataBase() { try {
    System.out.println("连接书库库成功");
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager
    .getConnection("jdbc:mysql://localhost/Blog?user=root&password=hugh&useunicode=true&characterencoding=8859_1");
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    } public static Connection getConnection() {
    if (conn == null) {
    new DataBase();
    }
    return conn;
    } // 这属于操作数据库的部分,它的作用是用于获得执行SQL语句的PreparedStatement(预处理)对象
    public PreparedStatement getPreparedStatement(String sql) {
    try {
    PreparedStatement pstmt = conn.prepareStatement(sql);
    return pstmt;
    } catch (Exception e) {
    }
    return null;
    } // 一个返回结果集的方法 public ResultSet getResult() {
    try {
    PreparedStatement select_stm = conn.prepareStatement(
    query_statement,
    java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
    java.sql.ResultSet.CONCUR_READ_ONLY);
    result = select_stm.executeQuery();
    } catch (Exception e) {
    System.out.println(e);
    }
    return result;
    }}这样就把能牵扯到数据库连接类似的操作封装在一块了