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.
Hola soy Alex Céspedes fundador de ANDROFAST, programo algunas cosas por diversión, me gusta aprender cosas nuevas y estoy pendiente de todo lo que tenga que ver con tecnología. Este blog lo cree para todas las personas que tengan dificultades en la programación, para ser sincero nunca fui bueno y reprobé algunos cursos de programación, pero mis ganas de aprender pudieron más. SI YO PUEDO TU PUEDES ANIMO!