Err*_*ion 8 java arrays resultset oracle11g
我需要将我的结果集转换为字符串数组.我正在从数据库中读取电子邮件地址,我需要能够发送它们,如:
message.addRecipient(Message.RecipientType.CC, "abc@abc.com,abc@def.com,ghi@abc.com");
Run Code Online (Sandbox Code Playgroud)
这是我阅读电子邮件地址的代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Test {
public static void main(String[] args) {
Connection conn = null;
String iphost = "localhost";
String dbsid = "ASKDB";
String username = "ASKUL";
String password = "askul";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String sql = "SELECT * FROM EMAIL";
conn = DriverManager.getConnection("jdbc:oracle:thin:@" + iphost + ":1521:" + dbsid, username, password);
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
String[] arr = null;
while (rs.next()) {
String em = rs.getString("EM_ID");
arr = em.split("\n");
for (int i =0; i < arr.length; i++){
System.out.println(arr[i]);
}
}
} catch (Exception asd) {
System.out.println(asd);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的输出是:
myemailaddress@abc.com
myotheremail@abc.com
Run Code Online (Sandbox Code Playgroud)
我需要这样:
myemailaddress@abc.com,myotheremail@abc.com
Run Code Online (Sandbox Code Playgroud)
我正在使用Oracle 11g.
cod*_*Man 10
获得所需的输出:
替换这些线
String[] arr = null;
while (rs.next()) {
String em = rs.getString("EM_ID");
arr = em.split("\n");
for (int i =0; i < arr.length; i++){
System.out.println(arr[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
通过
String arr = null;
while (rs.next()) {
String em = rs.getString("EM_ID");
arr = em.replace("\n", ",");
System.out.println(arr);
}
Run Code Online (Sandbox Code Playgroud)
System.out.println(arr[i]);
Run Code Online (Sandbox Code Playgroud)
而是使用:
System.out.print(arr[i] + ",");
Run Code Online (Sandbox Code Playgroud)