1

テーブル「admin」を持つデータベースがあります。しかし、現在、値を持たないテーブルを作成しています。テーブルの列はuser_nameとpasswordです。私の動機は、テーブルが空かどうかを確認することです。私はmysqlデータベースを使用しています。コードとその失敗。助けてください。

public void nullCheck() {

    PreparedStatement stmt = null;
    ResultSet rs = null;
    String qry = "SELECT * From admin ";

    try {
        stmt = (PreparedStatement) conn.prepareStatement(qry);
        rs =  stmt.executeQuery();

        boolean empty = true;
        while( rs.next() ) {
          // ResultSet processing here
          empty = false;
        }
        if( empty ) {
            Util.showWarningMessageDialog("null");
        }
    } catch (SQLException ex) {
        Logger.getLogger(RemoveFaculty.class.getName()).log(Level.SEVERE, null, ex);
    }
}
4

2 に答える 2

1

テーブルを確認するだけの場合は、クエリを使用する必要があります。

String qry = "SELECT count(*) From admin ";

より良いパフォーマンスのために。ResultSet から行数を取得して、テーブルが null かどうかを確認します。

int count=0;
while( rs.next() ) 
{
    count=rs.getInt("count");
}
于 2013-07-22T17:50:41.507 に答える
0

このコードを試してみてください。これでうまくいくと思います。ここに投稿した最初の投稿がまったく機能していないため、更新しました。

public void nullCheck() {

       PreparedStatement stmt = null;
       ResultSet rs = null;
       String qry = "SELECT * From admin ";

       try {
            stmt = (PreparedStatement) conn.prepareStatement(qry);
            rs =  stmt.executeQuery();
            int count = 0;
            while(rs.next()){
               count++;
            }
            if(count == 0){ // if equal to 0 then the table is null
               bla bla bla
            }
       } catch (SQLException ex) {
               Logger.getLogger(RemoveFaculty.class.getName()).log(Level.SEVERE, null, ex);
        }
 }
于 2020-05-09T02:07:21.650 に答える