Jump to content


Photo

problema al agregar un spinner con sentencia sql desde android a una tabla


Best Answer novatophp2014 , 31 December 2018 - 08:00 PM

Encontre el error que tenia

1 que no agregaba el texto

2 solo insertaba numeros

 

no habia agregado las comillas simples para los campos de texto. ese era el error que tenia.


php
  1. String insert = "insert into "+Utilidades.TABLA_MASCOTA+
  2. " (" +Utilidades.CAMPO_ID_DUENO+ " ," +Utilidades.CAMPO_NOMBRE_MASCOTA+ " ,"+Utilidades.CAMPO_RAZA_MASCOTA+ ") " +
  3. "VALUES (" +ComboIdDuenoMascota.getSelectedItem().toString()+ " ,'" +CampoNombreMascota.getText().toString()+ "' ,'" +CampoRazaMascota.getText().toString()+ "')";

Go to the full post


  • Please log in to reply
2 replies to this topic

#1 novatophp2014

novatophp2014

    Newbie

  • Miembros
  • Pip
  • 2 posts

Posted 28 December 2018 - 09:14 PM

Saludos,espero me puedan dar una mano con unas practicas que estoy haciendo en android studio.

tengo una aplicacio en la cual puedo agrega usuario a una bd utilizando sentencias sql en android. pero agrege un espiner realizo la consulta pero manda error voy a dejar el proyecto para que lo puedan descargar aqui le muestro la consulta y el error que me envia.

 

en el spinner mando a llamar desde la tabla usuario donde muestra el codigo de usuario y el nombre selecionamos el dueño del perro y este se tiene que guardar en la bd.

como pueden ver el contenido del espinner es donde tenemos el problema


sql
  1. private void RegistrarMascotaSql() {
  2. ConexionSQLiteHelper conn=NEW ConexionSQLiteHelper(this,"bd_usuarios",NULL,1);
  3. //ABRIR BD DE FORMA DE ESCRITURA
  4. SQLiteDatabase db= conn.getWritableDatabase();
  5.  
  6. //CONSULTA PARA INSERTAR LAS MASCOTAS
  7. String INSERT = "INSERT INTO "+Utilidades.TABLA_MASCOTA+
  8. " (" +Utilidades.CAMPO_ID_DUENO+ " ," +Utilidades.CAMPO_NOMBRE_MASCOTA+ " ,"+Utilidades.CAMPO_RAZA_MASCOTA+ ") " +
  9. "VALUES (" +ComboIdDuenoMascota.toString()+ " ," +CampoNombreMascota.getText().toString()+ " ," +CampoRazaMascota.getText().toString()+ ")";
  10. limpiar();
  11. Log.i("resultado",INSERT);
  12. Log.i("CAMPO_ID_DUEÑO :",Utilidades.CAMPO_ID_DUENO);
  13. Log.i("ID_DUEÑO :",ComboIdDuenoMascota.toString()+"");
  14. db.execSQL(INSERT);
  15.  
  16. db.close();
  17. /**/
  18. }
  19.  Caused BY: android.DATABASE.sqlite.SQLiteException: near ".": syntax error (code 1): , while compiling: INSERT INTO mascota (id_dueno ,nombre_mascota ,raza_mascota) VALUES (android.support.v7.widget.AppCompatSpinner{426d24a8 VFED..CL ........ 0,458-720,506 #7f070007 app:id/ComboIdDuenoMascota} ,miperro ,callejero)

investigando un poco al spinner le agrege lo siguiente sustituyendo el toString por getSelectedItem


php
  1. String insert = "INSERT INTO "+Utilidades.TABLA_MASCOTA+
  2. " (" +Utilidades.CAMPO_ID_DUENO+ " ," +Utilidades.CAMPO_NOMBRE_MASCOTA+ " ,"+Utilidades.CAMPO_RAZA_MASCOTA+ ") " +
  3. "VALUES (" +ComboIdDuenoMascota.getSelectedItem()+ " ," +CampoNombreMascota.getText().toString()+ " ," +CampoRazaMascota.getText().toString()+ ")";

pero ahora me indica lo siguiente


sql
  1. Caused BY: android.DATABASE.sqlite.SQLiteException: no such COLUMN: perro (code 1):
  2. , while compiling: INSERT INTO mascota (id_dueno ,nombre_mascota ,raza_mascota) VALUES
  3. (333 ,perro ,gato)

le agredecira mucho talvez debe de ser una tontera pero no logro ver donde esta el error.

 

 

haciendo unas prueba al ingresar una mascota siempre se detiene la aplicacion, algo curioso al momento de solo agregar numero se guardan los datos.

 

Attached File  a.jpg   18.93KB   1 downloads


  • 0

#2 novatophp2014

novatophp2014

    Newbie

  • Miembros
  • Pip
  • 2 posts

Posted 31 December 2018 - 08:00 PM   Best Answer

Encontre el error que tenia

1 que no agregaba el texto

2 solo insertaba numeros

 

no habia agregado las comillas simples para los campos de texto. ese era el error que tenia.


php
  1. String insert = "insert into "+Utilidades.TABLA_MASCOTA+
  2. " (" +Utilidades.CAMPO_ID_DUENO+ " ," +Utilidades.CAMPO_NOMBRE_MASCOTA+ " ,"+Utilidades.CAMPO_RAZA_MASCOTA+ ") " +
  3. "VALUES (" +ComboIdDuenoMascota.getSelectedItem().toString()+ " ,'" +CampoNombreMascota.getText().toString()+ "' ,'" +CampoRazaMascota.getText().toString()+ "')";


  • 0

#3 ELKurgan

ELKurgan

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 566 posts
  • LocationEspaña

Posted 02 January 2019 - 12:15 AM

Gracias por compartir la solución

 

Saludos y feliz año nuevo

 

:ap: 


  • 0




IP.Board spam blocked by CleanTalk.