0

カウントを開発しようとしましたが、値はapache-tomcatコンソールウィンドウに表示されます。ここでは次のコードを使用しています:

public class RetailerWs {
 public int data(){
int count=0;

count++;

try{
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/pro","root","");

    PreparedStatement statement =  con.prepareStatement("select * from orders where status='Q' AND date=CURDATE()");
     ResultSet result = statement.executeQuery();


}

      catch(Exception exc){
      System.out.println(exc.getMessage());
      }


    return count;
       }

        }

私の別のクラスは次のとおりです。

  public class Demo {
  public static void main(String[] args){
    RetailerWs obj = new RetailerWs();
    System.out.println(obj.data());
   }

  }

私のデータベースでは、クエリの上で2つの値が一致していますが、出力は常に1です。ここでdisエラーが発生する理由。ここで使用されているループ条件を教えてください。いくつかの解決策を教えてください。

4

2 に答える 2

1

クエリの結果を実際に見ているわけではありません。コードの前半のcountため、は1です。count++

次のようなものが必要です。

while(result.next()) {
    // Do something with the row returned.
    // e.g. count += result.getInt[1]; if the first col is a count.
}
于 2012-08-02T05:45:33.497 に答える
0

クエリの実行後にこの行を追加します。

count = 0;
while ( result.next() ) 
count++;
于 2012-08-02T05:44:52.323 に答える