public Livro getLivro(int id) { // 1. get reference to readable DB Livro livro = new Livro(); SQLiteMaterial dbMaterial = new SQLiteMaterial(con); SQLiteDatabase db = banco.getReadableDatabase(); // 2. build query Cursor cursor = db.query( TABLE_LIVRO, // a. table COLUMNS, // b. column names " id = ?", // c. selections new String[] {String.valueOf(id)}, // d. selections args null, // e. group by null, // f. having null, // g. order by null); // h. limit // 3. if we got results get the first one if (cursor != null) cursor.moveToFirst(); idLivro = cursor.getColumnIndex(KEY_ID); autor = cursor.getColumnIndex(KEY_AUTOR); cutter = cursor.getColumnIndex(KEY_CUTTER); isbn = cursor.getColumnIndex(KEY_ISBN); numeroTombo = cursor.getColumnIndex(KEY_NUMERO_TOMBO); idMaterial = cursor.getColumnIndex(sqlLiteMaterial.KEY_ID); ano = cursor.getColumnIndex(sqlLiteMaterial.KEY_ANO); classificacao = cursor.getColumnIndex(sqlLiteMaterial.KEY_CLASSIFICACAO); editora = cursor.getColumnIndex(sqlLiteMaterial.KEY_EDITORA); local = cursor.getColumnIndex(sqlLiteMaterial.KEY_LOCAL); referencia = cursor.getColumnIndex(sqlLiteMaterial.KEY_REFERENCIA); titulo = cursor.getColumnIndex(sqlLiteMaterial.KEY_TITULO); unitermo = cursor.getColumnIndex(sqlLiteMaterial.KEY_UNITERMO); volume = cursor.getColumnIndex(sqlLiteMaterial.KEY_VOLUME); // 4. tabela material livro = new Livro(); livro.setCodigoMaterial(Integer.parseInt(cursor.getString(idMaterial))); livro.setAno(cursor.getString(ano)); livro.setClassificacao(cursor.getString(classificacao)); livro.setEditora(cursor.getString(editora)); livro.setLocal(cursor.getString(local)); livro.setReferencia(cursor.getString(referencia)); livro.setTitulo(cursor.getString(titulo)); livro.setUnitermo(cursor.getString(unitermo)); livro.setVolume(cursor.getString(volume)); livro.setCodigoLivro(Integer.parseInt(cursor.getString(idLivro))); livro.setAutor(cursor.getString(autor)); livro.setCutter(cursor.getString(cutter)); livro.setIsbn(cursor.getString(isbn)); livro.setNumeroTombo(cursor.getString(numeroTombo)); Log.d("getLivro(" + id + ")", livro.toString()); return livro; }
public ArrayList<Livro> getAllLivro() { ArrayList<Livro> listaLivros = new ArrayList<Livro>(); SQLiteMaterial sqlMaterial; // = new SQLiteMaterial(con); // 1. build the query// String query = SQL_SELECT + SQL_GROUP_BY; // 2. get reference to writable DB SQLiteDatabase db = banco.getWritableDatabase(); Cursor cursor = db.rawQuery(query, null); // 3. go over each row, build book and add it to list Livro livro = null; if (cursor.moveToFirst()) { do { livro = new Livro(); idLivro = cursor.getColumnIndex(KEY_ID); autor = cursor.getColumnIndex(KEY_AUTOR); cutter = cursor.getColumnIndex(KEY_CUTTER); isbn = cursor.getColumnIndex(KEY_ISBN); numeroTombo = cursor.getColumnIndex(KEY_NUMERO_TOMBO); idMaterial = cursor.getColumnIndex(sqlLiteMaterial.KEY_ID); ano = cursor.getColumnIndex(sqlLiteMaterial.KEY_ANO); classificacao = cursor.getColumnIndex(sqlLiteMaterial.KEY_CLASSIFICACAO); editora = cursor.getColumnIndex(sqlLiteMaterial.KEY_EDITORA); local = cursor.getColumnIndex(sqlLiteMaterial.KEY_LOCAL); referencia = cursor.getColumnIndex(sqlLiteMaterial.KEY_REFERENCIA); titulo = cursor.getColumnIndex(sqlLiteMaterial.KEY_TITULO); unitermo = cursor.getColumnIndex(sqlLiteMaterial.KEY_UNITERMO); volume = cursor.getColumnIndex(sqlLiteMaterial.KEY_VOLUME); // 4. tabela material livro.setCodigoMaterial(Integer.parseInt(cursor.getString(idMaterial))); livro.setAno(cursor.getString(ano)); livro.setClassificacao(cursor.getString(classificacao)); livro.setEditora(cursor.getString(editora)); livro.setLocal(cursor.getString(local)); livro.setReferencia(cursor.getString(referencia)); livro.setTitulo(cursor.getString(titulo)); livro.setUnitermo(cursor.getString(unitermo)); livro.setVolume(cursor.getString(volume)); livro.setCodigoLivro(Integer.parseInt(cursor.getString(idLivro))); livro.setAutor(cursor.getString(autor)); livro.setCutter(cursor.getString(cutter)); livro.setIsbn(cursor.getString(isbn)); livro.setNumeroTombo(cursor.getString(numeroTombo)); listaLivros.add(livro); } while (cursor.moveToNext()); } Log.d("getAllLivro()", listaLivros.toString()); return listaLivros; }
public long addLivro(Livro livro) { Log.d("addLivro", livro.getClassificacao()); // 1. get reference to writable DB SQLiteMaterial dbMaterial = new SQLiteMaterial(con); SQLiteDatabase db = banco.getWritableDatabase(); ContentValues values = new ContentValues(); Material material = new Material(); long i = 0; material.setAno(livro.getAno()); material.setClassificacao(livro.getClassificacao()); material.setEditora(livro.getEditora()); material.setLocal(livro.getLocal()); material.setReferencia(livro.getReferencia()); material.setTitulo(livro.getTitulo()); material.setUnitermo(livro.getUnitermo()); material.setVolume(livro.getVolume()); if (dbMaterial.addMaterial(material) > 0) { material = new Material(); material = dbMaterial.getUltimoMaterial(); if (material.getCodigoMaterial() > 0) { values.put(KEY_ID_MATERIAL, material.getCodigoMaterial()); values.put(KEY_AUTOR, livro.getAutor()); values.put(KEY_CUTTER, livro.getCutter()); values.put(KEY_ISBN, livro.getIsbn()); values.put(KEY_NUMERO_TOMBO, livro.getNumeroTombo()); // 3. insert i = db.insert( TABLE_LIVRO, // table null, // nullColumnHack values); // key/value -> keys = column names/ values = column values // 4. close db.close(); } } return i; }