마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

sqlite 관련코드한번 살펴봐주시면 감사하겠습니다

0 추천

sqlite 관련코드한번 살펴봐주시면 감사하겠습니다

아래코드에서 

public void insertBookmark(Bookmark bookmark){
   ContentValues params = new ContentValues();
   params.put("name", bookmark.getName());
   params.put("url", bookmark.getUrl());
   params.put("regdate", bookmark.getRedDate());
   long r = db.insert(TABLE_NAME, null, params);
}

insert 는 입력이 잘되는것같습니다

리턴값을 체크해보면 1 부터 계속 증가하는값이 리턴되고있는데

public ArrayList<Bookmark> selectAll(){
   Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
   ArrayList<Bookmark> list = new ArrayList<Bookmark>();
   while(cursor.isAfterLast()){
      Bookmark bookmark = new Bookmark();
      bookmark.setName(cursor.getString(1));
      bookmark.setUrl(cursor.getString(2));
      bookmark.setRedDate(cursor.getString(3));

      list.add(bookmark);
      cursor.moveToNext();
   }
   return list;
}

값을 가져오는코드가 안됩니다

가져오지를 못하고있습니다

위코드같이 query 문과 RawQuery 문으로도 해봤는데 

왜 값을 못가져오는지 모르겠습니다

어디가 잘못되었는지 확인하려면 어떻게해야될까요?

 

public class BookmarkDBmanager {
   private String DB_NAME = "bookmark.db";
   private String TABLE_NAME = "bookmark";
   public int dbVersion = 1;

   private SQLiteDatabase db;
   private Context context;
   private SQLiteOpenHelper openHelper;

   private class MySQLiteOpenHelper extends SQLiteOpenHelper{


      public MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
         super(context, name, factory, version);
         // TODO Auto-generated constructor stub
      }

      @Override
      public void onCreate(SQLiteDatabase db) {
         // TODO Auto-generated method stub
         String sql = "create table "+TABLE_NAME + "(id integer primary key autoincrement,"
               + " name text, url text, regdate text)";
         db.execSQL(sql);

      }

      @Override
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
         // TODO Auto-generated method stub

      }

   }
   public BookmarkDBmanager(Context context){
      this.context = context;
      this.openHelper = new MySQLiteOpenHelper(context, DB_NAME, null, dbVersion);
      db = openHelper.getWritableDatabase();
   }
   public void insertBookmark(Bookmark bookmark){
      ContentValues params = new ContentValues();
      params.put("name", bookmark.getName());
      params.put("url", bookmark.getUrl());
      params.put("regdate", bookmark.getRedDate());
      long r = db.insert(TABLE_NAME, null, params);
   }
   public ArrayList<Bookmark> selectAll(){
      Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
      ArrayList<Bookmark> list = new ArrayList<Bookmark>();
      while(cursor.isAfterLast()){
         Bookmark bookmark = new Bookmark();
         bookmark.setName(cursor.getString(1));
         bookmark.setUrl(cursor.getString(2));
         bookmark.setRedDate(cursor.getString(3));

         list.add(bookmark);
         cursor.moveToNext();
      }
      return list;
   }
}
구름처럼달처럼 (5,830 포인트) 님이 2016년 10월 10일 질문

1개의 답변

+1 추천
 
채택된 답변
cursor.moveFirst()  해주시고 해보세요.

그리고 잘못되었으면 로그에 내용이 나올 것 입니다.

로그도 같이 올려주세요.
원조안드로이드 (58,190 포인트) 님이 2016년 10월 11일 답변
구름처럼달처럼님이 2016년 10월 11일 채택됨
...