1

Tomcat をサーバーとして使用し、Derby をデータベースとして使用しているときに、ルックアップを行い、次のようなクエリを実行しました。

        Context initContext = new InitialContext();
        Context envContext = (Context)initContext.lookup("java:comp/env");
        DataSource ds = (DataSource)envContext.lookup("jdbc/PollDatasource");
        Connection connection = ds.getConnection();
        // write the query that tells the current weight of actor
        String currentWeightQuery = "SELECT " + justPolled + ",total FROM pollresult";
        PreparedStatement currentWeight = connection.prepareStatement(currentWeightQuery);
        ResultSet cwSet = currentWeight.executeQuery();

現在、Microsoft SQL Server 2005を使用しており、Java デスクトップ アプリケーションからデータベースにクエリを実行する必要があります。SQL Server 2005 にクエリを実行するには何が必要ですか? 既に sqlserver-jdbc ドライバーをロードしてデータベースに接続していますが、データベースからデータを取得する方法がわかりません。

4

2 に答える 2

0

ここで、ResultSet を繰り返す必要があります:結果セットからの値の取得と変更

ResultSet は、実際には SQL サーバーのカーソルのラッパーです。この場合、おそらく 1 つの結果しか得られません。クエリ結果の予期されるデータ型に応じて、java.sql.ResultSet の getter メソッドの 1 つを使用して、クエリから値を取得する必要があります。メソッドのパラメーターとして、列の名前を文字列 ("") として使用するか、1 から始まるクエリ内の列のシーケンス番号を使用します (one !)

于 2012-09-17T08:33:36.213 に答える
0

上記のコードの最後の行の後にこれを試してください:

while (cwSet.next()) {
    String string = cwSet.getString(1); // instead of the 1 you can also use the name of the column as a String
    int i = cwSet.getInt("total"); //could also have used getInt(2)
    // etc...
}
于 2012-09-17T10:57:24.777 に答える