Ir al contenido



Foto

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


Mejor respuesta novatophp2014 , 31 diciembre 2018 - 08:00

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()+ "')";

Ir al mensaje completo


  • Por favor identifícate para responder
2 respuestas en este tema

#1 novatophp2014

novatophp2014

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 28 diciembre 2018 - 09:14

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.

 

Archivo adjunto  a.jpg   18,93KB   0 descargas


  • 0

#2 novatophp2014

novatophp2014

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 31 diciembre 2018 - 08:00   Mejor respuesta

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
  • 543 mensajes
  • LocationEspaña

Escrito 02 enero 2019 - 12:15

Gracias por compartir la solución

 

Saludos y feliz año nuevo

 

:ap: 


  • 0