For循环通过不同的数组/Java
我正在搜索此类代码的简短版本:For循环通过不同的数组/Java,java,mysql,arrays,Java,Mysql,Arrays,我正在搜索此类代码的简短版本: if (database_1[0].equalsIgnoreCase(data)) { preparedStatement = connect .prepareStatement("update SLIP.CONTACTS set`database_1`=? where user='" + user + "'");
if (database_1[0].equalsIgnoreCase(data)) {
preparedStatement = connect
.prepareStatement("update SLIP.CONTACTS set`database_1`=? where user='"
+ user + "'");
preparedStatement.setString(1, vnos );
preparedStatement.executeUpdate();
} else if (database_2[0].equalsIgnoreCase(data)) {
preparedStatement = connect
.prepareStatement("update SLIP.CONTACTS set`database_2`=? where user='"
+ user + "'");
preparedStatement.setString(1, vnos );
preparedStatement.executeUpdate();
}
所以数据库_1[0]是一个字符串数组。我需要他的第一个元素来检查是否等于字符串数据。是否有快捷方式(用于循环)将数据库_1[0]更改为数据库_2[0],然后再更改为数据库_3[0]等等..请提前发送thx以获取帮助多维数组
for (int j = 0; j < numberOfDatabases; j++) {
if (database[j][0].equalsIgnoreCase(data)) {
preparedStatement = connect
.prepareStatement("update SLIP.CONTACTS set `database_"
+ j + "`=? where user=?");
preparedStatement.setString(1, vnos);
preparedStatement.setString(2, user);
preparedStatement.executeUpdate();
break;
}
}
for(int j=0;j
或者更好的是,使用适当的数据结构来保存数据库引用
List<String[]> databases = new ArrayList<String[]>();
// Populate databases.
for (int j = 0; j < databases.size(); j++) {
if (database.get(j)[0].equalsIgnoreCase(data)) {
preparedStatement = connect
.prepareStatement("update SLIP.CONTACTS set `database_"
+ j + "`=? where user=?");
preparedStatement.setString(1, vnos);
preparedStatement.setString(2, user);
preparedStatement.executeUpdate();
break;
}
}
List databases=new ArrayList();
//填充数据库。
对于(int j=0;j
请注意,这里我从0索引到size
-1
javaL认为,您还可以如上所述替换
PreparedStatement
中的user
。您可以使用嵌套数组
String [][] databases = new String[numberOfDatabases][itemsInEachDatabase];
for (int i = 0; i < itemsInEachDatabase; i++) {
databases[0][i] = database_1[i];
}
// repeat this for loop for other databases
for (int i = 0; i < numberOfDatabases; i++) {
if (databases[i][0].equalsIgnoreCase(data)) {
// your code here
}
}
String[]databases=新字符串[numberOfDatabases][itemsInEachDatabase];
对于(int i=0;i
为什么where user='“+user+”'“为什么where user=”对不起,我正在解决数组索引问题。我没有查看他的PreparedStatement
。修复了PreparedStatement
。