entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

Error en ReadableDatabase() en Android

Necesito que me ayuden porque me marca error en el momento que hago una consulta en SQLite en el Main Activity en Android.
Les dejo el codigo del Main

    package com.mex.loginsqlite;

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

   private bbdd bbd;
   private pruebas pruebita;

    Button btnSignIn, btnSignUp;
    LoginDataBaseAdapter loginDataBaseAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_otro);

        bbdd bd = new bbdd(this);
        bd.insertarUsuario(1, "usuario1", "123");
        bd.insertarUsuario(4, "guillermo", "123");
        Toast.makeText(MainActivity.this, "Se han insertado 4 usuarios", Toast.LENGTH_SHORT).show();

        TextView tv = (TextView) findViewById(R.id.textView);

        SQLiteDatabase db= this.getReadableDatabase(); // <== Aquí es donde me marca error
        Cursor cu = db.rawQuery("SELECT * FROM TableUsuarios WHERE nombre='roblero'",null);

        cu.moveToFirst();
        tv.setText(cu.getString(cu.getColumnIndex("nombre")));

    }

Y este es de la BD

    package com.mexducando.loginsqlite;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.TextView;

/**
 * Created by roblero on 6/02/15.
 */
public class bbdd extends SQLiteOpenHelper {

    private static String name = "bd";
    private static int version = 1;
    public static SQLiteDatabase.CursorFactory cursorFactory = null;

    public bbdd(Context context){
        super(context,name,cursorFactory, version);
    }

    protected static String TableUsuarios = "usuarios";
    protected static String TableScore = "score";
    private String SQLCreateUsuarios = "CREATE TABLE " + TableUsuarios +  " (clave INTEGER, nombre TEXT(50), contrasena TEXT(10) ) ";
    private String SQLCreateScore = "CREATE TABLE " + TableScore +  " (clavesc INTEGER, nombre TEXT(50), editorial TEXT(10) )";

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(SQLCreateUsuarios);
        db.execSQL(SQLCreateScore);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

    public void insertarUsuario(int clave, String nombre, String contrasena){
        SQLiteDatabase db = getWritableDatabase();
        if(db!=null){
            db.execSQL("INSERT INTO " + TableUsuarios +
                    " (clave, nombre, contrasena) " +
                    " VALUES(" + clave + ", '" + nombre + "', '" + contrasena +"' ) ");
            db.close();
        }
    }

  /*  public long inperson(int clave, String nombre, String contrasena)
    {

        Log.i("Sqlite", +"INSERT" + clave+","+nombre+","+contrasena);
        ContentValues contentValues = new ContentValues();
        contentValues.put( sqliteHelper.__campo_nombre , nombre);
        contentValues.put( sqliteHelper.__campo_apellido , apellido);
        contentValues.put( sqliteHelper.__campo_sexo , sexo);
    }*/

}

1 Respuesta

2votos

white Puntos75880

Intenta de esta manera:

SQLiteDatabase db = bd.getReadableDatabase();

y en esta linea:

Cursor cu = db.rawQuery("SELECT * FROM TableUsuarios WHERE nombre='roblero'",null);

estas seguro que la tabla "TableUsuarios" existe? me parece que en tu codigo dice llamarse usuarios

protected static String TableUsuarios = "usuarios";

0voto

x4mp73r comentado

Ahh muchas gracias amigo, eso me solucionó el problema :D. También no me había dado cuenta del error de la consulta.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta