2013-07-22 3 views
0

У меня есть база данных с таблицей «admin». Но в настоящее время просто создается таблица, не имеющая значений. Табличные столбцы - это имя пользователя и пароль. Моим мотивом является проверка того, является ли таблица пустой или нет. Я использую базу данных mysql. Я пробовал следующий код и его сбой. Пожалуйста, помогите мне.Как проверить таблицу базы данных null или нет

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); 
    } 
} 
+0

какая ошибка/исключение вы получаете? – sanbhat

+0

Какие ошибки вы получаете? – Jaguar

+0

Если все, что вы хотите знать, является ли таблица пустой, более эффективным будет запрос SELECT id FROM admin LIMIT 1', где 'id' - это любое поле PK для таблицы' admin'. – yshavit

ответ

0

Если вам просто нужно проверить таблицу, то вы должны использовать запрос:

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

для лучшей производительности. И получить счетчик строк из ResultSet, чтобы проверить, что таблица имеет значение null или нет.

int count=0; 
while(rs.next()) 
{ 
    count=rs.getInt("count"); 
} 
+1

'count (*)' не работает хорошо с некоторыми двигателями, включая Inno, который по умолчанию используется в наши дни. – yshavit

+0

Вы намного безопаснее, если вы выберете одну строку ('limit 1') и убедитесь, что у вас что-то есть. –

Смежные вопросы