2010-08-14 16 views
6

Estoy desarrollando una aplicación que requiere el uso de una base de datos SQLite. Implementé la búsqueda de datos, pero tengo problemas cuando intento insertar datos. El problema que tengo es que los datos nuevos que ingreso no se almacenan, es decir, que nada nuevo se ingresa en la base de datos.Datos que no se insertan en la base de datos Sqlite en android

Este es mi código de inserción, myDataBase es una instancia de SQLiteDatabase.

public void insertTitle(String Recipe) 
{ 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put(COLUMN_NAME,value); 
    myDataBase.insert(ZRECIPE, null, initialValues); 
} 
+0

¿Cuál es el valor de retorno de 'inserción()': -1 (error), o una identificación válida fila? – LarsH

Respuesta

2

Ha olvidado realizar la transacción.

+2

Hola, pero ¿cómo comprometer la transportación ...? – Jaymin

+0

No estoy seguro, pero supongo que 'setTransactionSuccessful()' en realidad es la confirmación. – Stan

6

Pruébalo de esta manera. Primero necesita iniciar la transacción, luego márquelo como exitoso y finalice.

try { 
     myDataBase.beginTransaction(); 
     myDataBase.insert(ZRECIPE, null, initialValues); 
     myDataBase.setTransactionSuccessful(); 
     } 
    finally { 
     myDataBase.endTransaction(); 
     } 
+0

¿Es necesario hacer una transacción explícita para que se confirme? ¿SQLite no usa el modo de confirmación automática de forma predeterminada? – LarsH

-1

intento con este código puede ayudarle a

public void insertTitle(String Recipe) 
{ 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put(COLUMN_NAME,Recipe); 
    myDataBase.insert(ZRECIPE, null, initialValues); 
} 
Cuestiones relacionadas