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