Ingresar,Eliminar, Editar,consultar en una base de datos SQLITE

Buenas hoy veremos como ingresar, eliminar, editar y consultar en una base de datos SQLITE, hasta ahora ya hemos hecho varios ejercicios parecidos pero en otros tipos de gestores de base de datos como mysql y postgresql. Este no es tan diferente solo cambian pequeñas cosas, sin mas rodeos empecemos con el tutorial.

Esta sera la estructura de nuestro ejercicio:
dentro de un ScrollView
– 3 EdiText que serviran para ingresar los datos
-txtCodigo
-txtDescripcion
-txtPrecio

– 5 Button para gestionar los datos
-btnInsertar
-btnConsult1
-btnConsult2
-btnEliminar
-btnModifcar

y quedara como se muestra en la siguiente imagen

Bien ahora tendremos que crear un archivo llamado AdminSQLiteOpenHelper.java

AdminSQLiteOpenHelper

public class AdminSQLiteOpenHelper extends SQLiteOpenHelper{
    public AdminSQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table articulos(codigo int primary key,descripcion text,precio real)");
    }

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

    }
}

También tendremos  la siguiente estructura en nuestro archivo MainActivity.java lo siguiente

MainActivity

public class MainActivity extends AppCompatActivity {

    private EditText et1,et2,et3;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et1=(EditText)findViewById(R.id.txtCodigo);
        et2=(EditText)findViewById(R.id.txtDescripcion);
        et3=(EditText)findViewById(R.id.txtPrecio);
    }

    public void alta(View v) {
        AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
                "administracion", null, 1);
        SQLiteDatabase bd = admin.getWritableDatabase();
        String cod = et1.getText().toString();
        String descri = et2.getText().toString();
        String pre = et3.getText().toString();
        ContentValues registro = new ContentValues();
        registro.put("codigo", cod);
        registro.put("descripcion", descri);
        registro.put("precio", pre);
        bd.insert("articulos", null, registro);
        bd.close();
        et1.setText("");
        et2.setText("");
        et3.setText("");
        Toast.makeText(this, "Se cargaron los datos del artículo",
                Toast.LENGTH_SHORT).show();
    }

    public void consultaporcodigo(View v) {
        AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
                "administracion", null, 1);
        SQLiteDatabase bd = admin.getWritableDatabase();
        String cod = et1.getText().toString();
        Cursor fila = bd.rawQuery(
                "select descripcion,precio from articulos where codigo=" + cod, null);
        if (fila.moveToFirst()) {
            et2.setText(fila.getString(0));
            et3.setText(fila.getString(1));
        } else
            Toast.makeText(this, "No existe un artículo con dicho código",
                    Toast.LENGTH_SHORT).show();
        bd.close();
    }

    public void consultapordescripcion(View v) {
        AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
                "administracion", null, 1);
        SQLiteDatabase bd = admin.getWritableDatabase();
        String descri = et2.getText().toString();
        Cursor fila = bd.rawQuery(
                "select codigo,precio from articulos where descripcion='" + descri +"'", null);
        if (fila.moveToFirst()) {
            et1.setText(fila.getString(0));
            et3.setText(fila.getString(1));
        } else
            Toast.makeText(this, "No existe un artículo con dicha descripción",
                    Toast.LENGTH_SHORT).show();
        bd.close();
    }

    public void eliminarPorCodigo(View v) {
        AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
                "administracion", null, 1);
        SQLiteDatabase bd = admin.getWritableDatabase();
        String cod= et1.getText().toString();
        int cant = bd.delete("articulos", "codigo=" + cod, null);
        bd.close();
        et1.setText("");
        et2.setText("");
        et3.setText("");
        if (cant == 1)
            Toast.makeText(this, "Se borró el artículo con dicho código",
                    Toast.LENGTH_SHORT).show();
        else
            Toast.makeText(this, "No existe un artículo con dicho código",
                    Toast.LENGTH_SHORT).show();
    }

    public void modificacion(View v) {
        AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this,
                "administracion", null, 1);
        SQLiteDatabase bd = admin.getWritableDatabase();
        String cod = et1.getText().toString();
        String descri = et2.getText().toString();
        String pre = et3.getText().toString();
        ContentValues registro = new ContentValues();
        registro.put("codigo", cod);
        registro.put("descripcion", descri);
        registro.put("precio", pre);
        int cant = bd.update("articulos", registro, "codigo=" + cod, null);
        bd.close();
        if (cant == 1)
            Toast.makeText(this, "se modificaron los datos", Toast.LENGTH_SHORT)
                    .show();
        else
            Toast.makeText(this, "no existe un artículo con el código ingresado",
                    Toast.LENGTH_SHORT).show();
    }
}

Y bueno para terminar recuerden que dentro de nuestro MAinActivity.java tenemos varios métodos que nos sirven para gestionar con los botones, entonces vamos por ejemplo con el método  eliminarPorCodigo para llamar ese método desde nuestro botón eliminar, tenemos que ir en modo gráfico hacer clic en el botón, luego nos dirigimos a la paleta y donde dices onClick ahí llamamos al método y cada vez que se haga clic, llamara a nuestro método eliminarPorcodigo y para los demás métodos, debes hacerlo igual, dejo una imagen de como debe quedar el método eliminarPorCodigo

Y bueno con eso hemos terminado a continuación les dejo el archivo para su descarga.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

WhatsApp chat