Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaDerby中使用值创建表_Java_Sql_Loops_Derby - Fatal编程技术网

在JavaDerby中使用值创建表

在JavaDerby中使用值创建表,java,sql,loops,derby,Java,Sql,Loops,Derby,我试图创建一个包含字符串数组中的值的表。我正在寻找一种最好的方法来循环使用它,而不必发送一堆查询。这就是我所拥有的,但很明显,这个循环不起作用。有人有更好的方法吗 public static void createTable(String table, String[] values) throws SQLException{ try { Class.forName(driver); conn = DriverManager.getConnecti

我试图创建一个包含字符串数组中的值的表。我正在寻找一种最好的方法来循环使用它,而不必发送一堆查询。这就是我所拥有的,但很明显,这个循环不起作用。有人有更好的方法吗

    public static void createTable(String table, String[] values) throws SQLException{
    try {
        Class.forName(driver);
        conn = DriverManager.getConnection(connectionURL);
        Statement state = conn.createStatement();

        for(int x = 0; x < values.length; x++){

            state.execute("CREATE TABLE" + table + " ( " + values[x] + " );");
        }
        conn.commit();

    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally {
        try {
            conn.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
publicstaticvoidcreateTable(字符串表,字符串[]值)抛出SQLException{
试一试{
Class.forName(驱动程序);
conn=DriverManager.getConnection(connectionURL);
语句状态=conn.createStatement();
对于(int x=0;x
连接值数组的元素

StringBuilder sb=new StringBuilder();
sb.append("CREATE TABLE " + table + " ( ");

 for (int i = 0; i < values.length; i++) {
   sb.append(values[i]);
   if (i >= values.length-1) {break;}
  sb.append(",");
 }
 sb.append(" )");
 state.execute(sb.toString());
StringBuilder sb=新建StringBuilder();
sb.追加(“创建表”+表+”(“”);
对于(int i=0;i=values.length-1){break;}
某人加上(“,”);
}
某人加上(“)”;
state.execute(sb.toString());

这无助于解决循环问题。不过这是个好主意。这可能会造成问题。谢谢有人对循环这个有什么想法吗?我会查出来的。感谢您的建议。因此,即使该循环声明它每次都会执行“创建表”,但它不应该给数据库造成问题,或者仅仅是因为一个错误?看起来我还遇到了一个奇怪的错误,我似乎不明白。这现在是有意义的!非常感谢!