Java 每次运行程序时在MySQL数据库中生成新表的程序

Java 每次运行程序时在MySQL数据库中生成新表的程序,java,mysql,Java,Mysql,我的程序无法在每次运行程序时为表生成新名称,因此无法创建该表。这是我的密码:- package org.java.myfirstapp; import java.sql.*; public class ConnectForm { public void createFormData(String name,String num){ Connection con=null; try{ Class.forName("co

我的程序无法在每次运行程序时为表生成新名称,因此无法创建该表。这是我的密码:-

package org.java.myfirstapp;

import java.sql.*;



public class ConnectForm {



    public void createFormData(String name,String num){
        Connection con=null;

        try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/formdata", "root", null);
            try{
                int no=1,no1 = 0;
                do{Statement st=con.createStatement();
                    no1=no;

                int x;
                x= st.executeUpdate("create table form"+no+" (Product varchar(20),Fields varchar(20))");


                if(x==0){ 

                st.executeUpdate("insert into form"+no+" values ('"+name+"','"+num+"')");
                }
                else {
                    no++;}


                }while(no1<no);
            }
            catch(SQLException e1){

                System.err.println("Error code:"+e1.getMessage());}

        }
            catch(Exception e1){
                e1.printStackTrace();
        }
    }
}
package org.java.myfirstapp;
导入java.sql.*;
公共类连接表单{
public void createFormData(字符串名称、字符串编号){
连接con=null;
试一试{
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/formdata“,”根“,”空);
试一试{
int no=1,no1=0;
do{Statement st=con.createStatement();
no1=否;
int x;
x=st.executeUpdate(“创建表格”+no+”(产品变量字符(20),字段变量字符(20));
如果(x==0){
st.executeUpdate(“插入格式“+no+”值(““+name+”,“+num+”)”);
}
否则{
否+++;}
}而(第一)
Eclipse无法找到java.util.Random,尽管我在java SDK中找到了它

在您介绍的示例中,您没有使用类“java.util.Random”,但这种类型的错误表明您可能缺少导入或生成路径设置不正确

关于第二个问题

“form1”已创建

这可能表示您的应用程序已经使用这行代码在数据库上创建了表


t.executeUpdate(“创建表格”+no+”(产品varchar(20),字段varchar(20)

感谢您的分享,现在请阅读《这是危险吗?我们现在应该问一个问题吗?@Vash Eclipse无法找到java.util.Random》,尽管我在java中找到了它SDK@BrianAgnew我收到一个错误,说“form1”已经创建。@user1481851,请用这两条注释编辑您的问题。是的,但c不应该吗控制从if转到else块,因为if语句中的条件将不为真?然后将为表分配一个新名称,即Form2首先,您不应该对DDL使用executeUpdate。其次,您首先执行
创建
,然后您就有了if。好的,那么对DDL使用executeUpdate的替代方法是什么非常感谢您的帮助和耐心。我是新手,所以这非常有帮助。而且,即使我在“if”的条件下执行create语句并将其值与零进行比较,也会出现相同的错误。我认为此时您应该在一些教程中投入时间。这里有很多示例