【发布时间】:2014-02-06 01:04:26
【问题描述】:
这是我的桌子
FirstName----LastName----City--------State
Ram----------Padhan------Houston-----TX
Ram----------Padhan------Washingtom--MI
Ram----------Padhan------Alok--------BG
Keiry--------Lading------Azan--------BL
Keiry--------Lading------Aror--------BS
如何获取数据以便我的输出为:
FirstName: Ram--LastName: Padhan
City: Houston--State:TX
City:Washington--State:MI
City:Alok--State:BG
FirstName: Keiry--LastName: Lading
City: Azan--State:BL
City:Aror--State:BS
除了逐行获取值:
FirstName: Ram--LastName: Padhan
City: Houston--State:TX
FirstName: Ram--LastName: Padhan
City:Washington--State:MI
这就是我所做的。我得到的输出只是第一行 firstname 和 lastname 而对于 state 和 city 列,我得到的值直到最后一行。
public class Practise
{
public static void main(String[] args)
{
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.jdbc.Driver") ;
String url = "jdbc:mysql://localhost:3306/table_name";
conn = DriverManager.getConnection(url,"root","root" );
stmt = (Statement) conn.createStatement();
String sql = "SELECT First_Name ,Last_Name ,City_Name , State_Name, FROM table_name";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next())
{
String first = rs.getString("First_Name");
String last = rs.getString("Last_Name");
System.out.print("First: " + first);
System.out.println("Last: " + last);
do
{
String city = rs.getString("City_Name");
String state = rs.getString("State_Name");
System.out.println("City: " + city);
System.out.println("State: " + state);
System.out.println();
} while(rs.next());
}
rs.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
catch(Exception e)
{
e.printStackTrace();
}
finally {
try {
if (stmt != null)
conn.close();
}
catch(SQLException se)
{ }
try {
if (conn != null)
conn.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
}
}
}
【问题讨论】:
-
请格式化您的代码,它不可读。实际上格式化你的整个问题。