2015-11-25 2 views
-1

Я хочу получить количество строк из моей базы данных Как создать метод, который возвращает количество строк в виде int? Вот что я получил, но это только возвращает номер 1Java SQL получить все строки из столбца

public int getAllId() { 

    SQLiteDatabase db = this.getWritableDatabase(); 

    int x=0; 
    String where = null; 
    Cursor c = db.rawQuery("SELECT COUNT (*) FROM " + TABLE_PRODUCTS, null); 


    while (c.isAfterLast() == false) { 



     c.moveToNext(); 

    } 

    db.close(); 
    return c.getCount(); 
+1

Выполнение функции 'SELECT CO UNT (*) FROM MYTABLE' внутри вашего метода. Покажите инициативу, есть много информации об этих вещах. – Kayaman

+0

Да, я просмотрел многие примеры и вопросы здесь, но я не могу приспособить его к моему коду, потому что я все еще такой новичок в java –

+0

Вопрос в широком. Мы не можем видеть ваш код и то, что вы сделали до сих пор. Подумайте, пожалуйста, обновите свой вопрос. – Marcinek

ответ

0

Я нашел способ сделать это благодаря

SQLite Query in Android to count rows

Вот код, который я придумал :

public int getRowCount() throws Exception { 
    SQLiteDatabase db = this.getWritableDatabase(); 


    Cursor mCount= db.rawQuery("SELECT COUNT (*) FROM " + TABLE_PRODUCTS, 
    null); 

    mCount.moveToFirst(); 
    int rows= mCount.getInt(0); 
    mCount.close(); 

return rows; 

} 
0

Ну, если вы используете простой JDBC без каких-либо библиотек, вы должны быть в состоянии получить количество строк из ResultSet Я сделал это некоторое время назад с помощью двух подходы:

1.

rs.last(); 
    rs.getRow(); 

2.

 int rowcount = 0; 
     while (rs.next()) { 
     // more processing here 
     rowCount++; 
    } 

, но в качестве предостережения я использовал это только в oracle и mysql dbs. Также, если соединение ResultSet.TYPE_FORWARD_ONLY, вы не сможете вернуться.

вы можете прочитать больше о результирующих из http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html

Надеется, что это помогает :)

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