【发布时间】:2021-09-03 08:15:43
【问题描述】:
我有一个包含 meta_key 值的 SQL 语句。当我使用 while/next 运行结果集时,值会正确显示。我想做的是将每个值分配给一个唯一命名或编号的字符串,以便在后续语句中将这些值发布到网站。
除了将结果值分配给字符串之外,我一切正常……我确信我这样做就像一个等级初学者,所以我提前道歉。
try {
Connection conn = DriverManager.getConnection(
"jdbc:mysql://sftp.databaseengine.com:3306/table", "user",
"password");
String getcomp = "SELECT DISTINCT wpgc.user_id, wpgc.status, wpgc.content_id, wpu.meta_key,\r\n"
+ " CASE wpu.meta_value WHEN 'm' THEN 'MALE' WHEN 'f' THEN 'FEMALE'\r\n"
+ " WHEN 'Louisiana' THEN 'LA' ELSE wpu.meta_value END AS '1',\r\n"
+ " wpu.user_id, wpgc.timestamp \r\n"
+ " FROM wp_grassblade_completions AS wpgc\r\n"
+ " JOIN wp_usermeta AS wpu ON wpgc.user_id = wpu.user_id\r\n"
+ " WHERE wpgc.user_id = ? \r\n"
+ " AND wpu.meta_key IN ('mepr_full_name', 'mepr_address', 'mepr_city', 'mepr_state',\r\n"
+ " 'mepr_zip_code', 'mepr_home_phone_with_area_code',\r\n"
+ " 'mepr_drivers_license_or_id', 'mepr_id_state',\r\n"
+ " 'mepr_Last_four_of_social_security_number',\r\n"
+ " 'mepr_date_of_birth_mmddyyyy', 'mepr_sex_mf', 'mepr_height',\r\n"
+ " 'mepr_weight')\r\n";
PreparedStatement pst = conn.prepareStatement(getcomp);
pst.setString(1, user_id);
ResultSet rs = pst.executeQuery();
while (rs.next()) {
for (int i = 0; i < 13; ++i) {
String value = rs.getString(5);
if i = 1 {}
System.out.println(i + " column " + (value));
rs.next();
}
}
}
catch (Exception e) {
System.out.println("Exception on " + user_id);
}
}
}
});
【问题讨论】:
-
将它们放入
List。或Map,如果您需要维护i和value之间的链接 -
非常感谢您的指导!我很感激。不知道如何引用可导航的地图条目,但我正在阅读它:)