-1

Javaを使用してデータベースの行を表示しようとしていました。私の考えは、データベース内の行を並べ替えて、3 列と無限の行で表示することです。これは私が持っているものです。実行すると、出力が表示されませんでした。どこで私は間違えましたか?

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.SQLException;
public class Rows {
public static void main(String[] args) throws SQLException,ClassNotFoundException 
{
    Connection connection = null;
    try {
         Class.forName("com.mysql.jdbc.Driver");


        String url = "jdbc:mysql://localhost:3306/testapp";
        String user = "root";
        String password = "root";
        connection = DriverManager.getConnection(url, user, password);


        Statement stmt = connection.createStatement();
        String sql = "select * from site order by fname;";


        stmt.execute(sql);
    } catch (ClassNotFoundException e) {
        System.err.println("Could not load database driver!");
    } catch (SQLException e) {
        e.printStackTrace();
    } 
            finally 
            {
        if (connection != null) 
                    {
            connection.close();
        }
    }
}


}

私が持っているデータベーステーブルは datas(id int, fname varchar(20)

4

2 に答える 2

2
Statement stmt = connection.createStatement();
 String sql = "select id, fname from site order by fname;";
ResultSet rs=stmt.executeQuery(sql);

while(rs.next()){
int id=rs.getInt("id");
.............
}

リファレンス:結果セットからの値の取得と変更

于 2013-06-26T08:33:50.583 に答える
0

コードは を取得し、ResultsSetそれを反復処理する必要があります。

    Class.forName("com.mysql.jdbc.Driver");

    String url = "jdbc:mysql://localhost:3306/testapp";
    String user = "root";
    String password = "root";
    connection = DriverManager.getConnection(url, user, password);


    Statement stmt = connection.createStatement();
    //You shouldn't need the semi-colon at the end
    String sql = "select * from site order by fname;";

    //missing piece
    ResultSet rs = stmt.executeQuery(sql);
    while (rs.next()) {

        int id = rs.getInt("id");
        String name = rs.getString("name");
        System.out.println(id + "\t" + name);
    }
于 2013-06-26T08:36:51.657 に答える