Usando SQLite con iOS... programa muy principiante

Estoy intentando escribir una aplicación en la que tengo dos campos de texto que usaré para la entrada. La entrada tomada de los campos de texto se inicializa como una cadena. Entonces lo que quiero lograr es:

  • Cree una base de datos SQLite (archivo) que se guardará dentro del proyecto Xcode (no estoy seguro de dónde se puede guardar, pero necesitaría poder leerlo y escribirlo).
  • Luego quiero colocar las cadenas (de las entradas del campo de texto) en la tabla SQLite, que solo tendrá dos campos (para simplificar). Estoy usando un botón para aceptar la entrada de los campos de texto, colocar la entrada en cadenas y luego colocar el valor de las cadenas en una(s) etiqueta(s).
  • En última instancia, querré colocar las cadenas de los campos de texto en la tabla y luego leer la tabla para "tomar" las cadenas y mostrarlas en las etiquetas. Todo esto se haría con el clic de un botón.

Me doy cuenta de que esto es muy específico, pero he tenido dificultades para encontrar algo simple para lograrlo. Soy muy nuevo en el desarrollo de iOS y agradezco si alguien pudiera ser lo más específico y detallado posible, o al menos señalarme algunos recursos que me enseñarían cómo lograr esto.

Estoy usando Xcode v4.3.2 y no uso Storyboard o ARC. Traté de ser lo más detallado posible, pero como puedas, mi objetivo es realmente simple.

Estoy agotado y agradezco toda la ayuda que pueda obtener.

¡Gracias! -Mate

preguntado el 03 de mayo de 12 a las 20:05

Entonces, ¿dónde está tu problema en detalle? ¿Conoces SQL en general? ¿Acaba de empezar en ios? -

Generalmente sé SQL. Lo suficientemente bien como para que pudiera resolver las cosas. Soy realmente nuevo en iOS todavía, sí. mi enfoque principal, como se indicó, es que quiero usar un botón para crear una tabla. No sé dónde guardará la tabla en App/Xcode, pero necesito leer y escribir en la tabla. En última instancia, cuando obtengo los valores de la tabla (solo 2 filas para simplificar), quiero poner los valores que obtengo de la tabla en un par de etiquetas. Avísame si no soy lo suficientemente claro. ¡Gracias de nuevo! -

Esto es un poco vago. Debe describir lo que ha intentado hasta ahora, lo que tiene funcionando, dónde precisamente tiene problemas, publicar código de muestra que ha probado hasta ahora, etc. Si no sabe cómo hacer SQLite programación o algún otro aspecto de la programación de iOS, eso está más allá del alcance de una simple pregunta SO y es posible que desee buscar recursos en línea en Google (por ejemplo, "tutorial de ios sqlite"). Si tiene algún problema con algún código específico que haya escrito, estaremos encantados de ayudarle, pero para preguntas generales sobre "cómo hago", SO no es el lugar. Ver el Preguntas Frecuentes. -

@Rob, hice una búsqueda de "tutorial de sqlite de programación de ios" y terminé aquí. SO es genial a veces, pero cada vez más a menudo he tenido que revisar un montón de resultados de búsqueda relacionados con SO para encontrar lo que estoy buscando. -

2 Respuestas

  • crear un archivo de base de datos: simplemente suelte su archivo data.sqlite en su proyecto xcode, al igual que suelte cualquier otra clase o recurso de imagen. Tenga en cuenta que tendrá que copiar el archivo en un directorio grabable después de la instalación de la aplicación. echa un vistazo a se crea una copia editable de la base de datos si es necesario.
  • abre tu base de datos con sqlite3_open con respecto a su nueva ubicación de base de datos.
  • consulta la base de datos como quieras con sqlite3_prepare_v2

un fragmento de consulta simple se ve así:

NSString *querystring;

// create your statement
querystring= [NSString stringWithFormat:@"SELECT text1, text2 FROM datatable;"];  

const char *sql = [querystring UTF8String];

NSString *text1 = nil;
NSString *text2 = nil;

if (sqlite3_prepare_v2(db, sql, -1, &statement, NULL)!=SQLITE_OK){

    NSLog(@"sql problem occured with: %s", sql);
    NSLog(@"%s", sqlite3_errmsg(db));

}
else
{
    // you could handle multiple rows here
    while (sqlite3_step(statement) == SQLITE_ROW) {            

       text1 = [NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 0)];
       text2 = [NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 1)];

    } // while        

}
sqlite3_finalize(statement);

// go on with putting data where you want

contestado el 23 de mayo de 17 a las 12:05

¡Tu eres el hombre! Esto es esencialmente exactamente lo que estaba buscando. Las instrucciones paso a paso fueron excelentes para un novato. Realmente aprecio que se haya tomado el tiempo para preparar estas instrucciones y explicar cómo realizar este proceso. Miembro de muy alta calidad. ¡Muchas gracias! - esquizo

Hay un proyecto de ejemplo para usar SQLite aquí que puede consultar: https://github.com/AaronBratcher/ABSQLite

Tiene clases para acceder a SQLite de una forma más tradicional de base de datos. El proyecto de muestra usa SQL para crear las tablas y muestra cómo puede cambiar el esquema en diferentes versiones de su aplicación.

Respondido 11 Jul 13, 15:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.