创建表 JDBC-MS-ACCESS

Posted

技术标签:

【中文标题】创建表 JDBC-MS-ACCESS【英文标题】:Creating table JDBC-MS-ACCESS 【发布时间】:2013-08-25 11:53:43 【问题描述】:

插入值表分支后,我想创建一个新表。值来自 jsp 页面。值已成功插入,但未创建表,它不检查 if 语句,我只有一个空白页。 谢谢。

 package Servlets;

    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;


    @WebServlet(name = "Decidetest", urlPatterns = "/Decidetest")
    public class Decidetest extends HttpServlet 


        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException 
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            Connection con;
            Statement s; 
             String branch=request.getParameter("branch");
             String semester=request.getParameter("semester");
             String course=request.getParameter("course");
             String name=request.getParameter("tname");
             String time=request.getParameter("duration");
             String number=request.getParameter("number");
             String type=request.getParameter("r1");
            try 
                 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
               con=DriverManager.getConnection("jdbc:odbc:online_testing");
               s=con.createStatement();
               String sql="insert into tests(branch,sem,course,testname,duration,noofque) values('"+branch+"','"+semester+"','"+course+"','"+name+"','"+time+"','"+number+"')";
               s.executeUpdate(sql);
               String sql3="CREATE TABLE "+name+"(option1 varchar(255)),option2 varchar(255),option3 varchar(255),option4 varchar(255),answer varchar(255)) ";
                s.executeUpdate(sql3);
s.close();
con.close();
               if(type.equals("make"))
               
                  response.sendRedirect("preparetest.jsp");
               
                else
               
                  response.sendRedirect("selectbank.jsp");
               
             catch (SQLException ex) 
                Logger.getLogger(Decidetest.class.getName()).log(Level.SEVERE, null, ex);
             catch (ClassNotFoundException ex) 
                Logger.getLogger(Decidetest.class.getName()).log(Level.SEVERE, null, ex);
             finally             
                out.close();
            
        

        // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">

        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException 
            processRequest(request, response);
        

        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException 
            processRequest(request, response);
        


        @Override
        public String getServletInfo() 
            return "Short description";
        // </editor-fold>
    

【问题讨论】:

帮自己一个忙。使用真实的数据库。 不要使用 Access 或 JDBC-ODBC。访问是一个笑话,JDBC-OBDC 很快就会从 Java 中删除。 好的。实际上这是我们在大学里教过的。下次我会注意的。感谢您的建议。 你应该和你的教授谈谈或者换大学,他对数据库一无所知。看看HSQLDB还是H2,很轻量级的。此外,您的代码存在内存泄漏。您没有关闭数据库资源。 哦。我关闭了语句和连接。谢谢,还有什么要注意的吗? 【参考方案1】:

您在 options1 定义后关闭两个 )

String sql3="CREATE TABLE "+name+" (option1 varchar(255),option2 varchar(255),option3 varchar(255),option4 varchar(255),answer varchar(255)) ";

【讨论】:

谢谢,我可以在创建表时使用文本作为列的数据类型吗? IDK,取决于 MS-Access 是否支持文本类型或 Blob 等效项。或许this link可以给个提示

以上是关于创建表 JDBC-MS-ACCESS的主要内容,如果未能解决你的问题,请参考以下文章

oracle怎么创建表空间?

MySQL创建临时表?

ORACLE 创建一个表

oracle怎么创建表空间

创建表空间出现错误

oracle 创建表空间、创建用户