Java 如何创建可参数化的sql请求,以创建包含多个字段的表
以下是我的建议,但问题是我最终会遇到Java 如何创建可参数化的sql请求,以创建包含多个字段的表,java,sql,Java,Sql,以下是我的建议,但问题是我最终会遇到,。例如,我将有: create table(field 1 varchar(50) not null,field 2 varchar(45) not null,); 我的问题是如何删除最后一个, String req = "CREATE TABLE " + db.getTable_Name() + " ("; for (int i = 0; i < db.getColumns_number(); i++) { req += db.getFi
,
。例如,我将有:
create table(field 1 varchar(50) not null,field 2 varchar(45) not null,);
我的问题是如何删除最后一个,
String req = "CREATE TABLE " + db.getTable_Name() + " (";
for (int i = 0; i < db.getColumns_number(); i++) {
req += db.getField() + " " + db.getType() + "(" + db.getSize() + ")" + " " + db.getNullabilité () + ",";
}
req += ")";
String req=“CREATE TABLE”+db.getTable_Name()+”(”;
对于(int i=0;i
替换最后一个,非常简单。没有regexp:
String s = "create table(field 1 varchar(50) not null,field 2 varchar(45) not null,);";
int n = s.lastIndexOf(',');
System.out.println(s.substring(0, n) + s.substring(n+1));
结果:
创建表(字段1 varchar(50)不为空,字段2 varchar(45)不为空) 您可以这样做:
for(int i=0;i<db.getColumns_number();i++){
if(i!=0){
req+=", ";
}
req+= db.getField()+" "+db.getType()+"("+db.getSize()+")" +" "+db.getNullabilité();
//req+= ((i!=0)?", ":"") + db.getField()+" "+db.getType()+"("+db.getSize()+")" +" "+db.getNullabilité();
//req+= db.getField()+" "+db.getType()+"("+db.getSize()+")" +" "+db.getNullabilité() + ((i != (db.getColumns_number()-1))?",":"");
}
对于(inti=0;i您只需使用以下代码
if(i<db.getColumns_number()){
//add ","
}
如果(i尝试以下代码:
String req="CREATE TABLE " +db.getTable_Name()+" (";
for(int i=0;i<db.getColumns_number();i++){
req+= db.getField()+" "+db.getType()+"("+db.getSize()+")" +" "+db.getNullabilité();
//add comma until is not last column
if (i < (db.getColumns_number()-1)) {
req+=",";
}
}
req+=")";
String req=“CREATE TABLE”+db.getTable_Name()+”(”;
对于(int i=0;i,您可以简单地切换添加逗号的方式。例如:
String req = "CREATE TABLE " + db.getTable_Name() + " (";
for (int i = 0; i < db.getColumns_number(); i++) {
req += (i > 0 ? ", " : "") + db.getField() + " " + db.getType() + "(" + db.getSize() + ")" + " " + db.getNullabilité();
}
req += ")";
String req=“CREATE TABLE”+db.getTable_Name()+”(”;
对于(int i=0;i0?,“:”)+db.getField()+“+db.getType()+”(“+db.getSize()+”)+“+db.getNullabilité()”;
}
请求+=”;
这将检查我们是否在第一个索引之后。如果我们在第一个索引之后,我们会在开始处添加一个逗号。如果它是第一个索引,我们不会添加任何内容。但最后您会有一个“,”?@ChawqiHajar否,因为这会将,
添加到列描述的开头,而不是结尾,并且不会对第一列描述执行此操作。