Datos persistentes en IOS. Luis Montesano & Ana Cristina Murillo

Documentos relacionados
BASES DE DATOS AVANZADAS Transacciones en MYSQL

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2)

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

GUIA DE PROCEDIMIENTOS Y FUNCIONES ALMACENADOS EN MYSQL

INSTITUTO POLITÉCNICO NACIONAL. ESCUELA SUPERIOR DE CÓMPUTO. WEB II. MySQL. Que el alumno aprenda a usar el servidor de base de datos MySql.

Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Base de Datos: Ejemplo Usuarios

Tema: MAPEO OBJETO RELACIONAL (ORM) - ADODB

Guía práctica de introducción básica a JDBC

Trabajos de Ampliación. Bases de datos NoSQL.

APÉNDICE SQL (Structures Query Language)

Manejo de datos BLOB con PHP y MySQL

Tutorial Sencillo Yii Framework

* Size es el tamaño inicial y Filegrowth es el incremento * El size del Primary debe ser 3 veces mayor que el Log necesariamente

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1

Programación SQL. Lucio Salgado Diciembre 2008

TEMA 20: CONCEPTOS BÁSICOS DE SQL

Base de Datos SQL Server

PL/PGSQL. Extensión "procedural" de SQL

Haga clic para PostgreS cambiar el estilo

Formatos para prácticas de laboratorio

Motores de Base de Datos Libres: Postgresql y MySql. Ing. Ricardo Naranjo Faccini, M.Sc

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

PHP Y BASES DE DATOS. Introducción a SQL

GESTORES GESTORES DE BASES DE DATOS

Ejercicios - Persistencia en Android: ficheros y SQLite

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

Pruebas de Sqlite en un sistema Linux guia para iniciarse

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos: Structured Query Language (SQL)

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

SQL (Structured Query Language)- DML

PHP. Tipos de campo en MySql char(longitud): Cualquier carácter. El campo tendrá siempre la misma longitud. Máximo de 255 caracteres.

Ejercicios para Access Create Tabla, Insert, Update y Delete

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL.

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h

2- Intente crear una tabla llamada "clientes" UTILIZANDO el modo de Consulta, en el modo SQL :

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

Bases de Datos / Elementos de Bases de Datos Que es un Stored Procedure? Stored Procedures: Ventajas

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 27 28, SQL básico. Carlos Rodrigo Blanco LAEFF INTA

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

Recuperación del Sistema

Acceso a bases de datos MySQL con PHP

INTRODUCCIÓN A POR DANIEL PONSODA MONTIEL

Pasos para replicación de una base de datos MySQL en VirtualBox MSC. Martín Contreras

[ EDICION ESPECIAL] En el siguiente ejemplo se agrega un archivo de datos de 5 MB a la base de datos BD_Ejemplo01.

Tema 4. SQL. Juan Ignacio Rodríguez de León

Introducción al SQL embebido

MANUAL PARA LA TRANSFORMACION DE FORMATOS GIS A CAD CON CAMBIO DE SISTEMA DE REFERENCIA MEDIANTE MICROSTATION

MANUAL BÁSICO DE POSTGRESQL

Bases de Datos / Elementos de Bases de Datos 2015

Temario. Índices simples Árboles B Hashing

Formato para prácticas de laboratorio

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server Barrios

Tema: PROCEDIMIENTOS ALMACENADOS.

Tema: Creacion de una base de datos utilizando sintaxis Sql.

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Otros objetos de Base de Datos

Laboratorio Informix. Stored Procedures Triggers

MySQL: Guía de Referencia

Programación Procedural de Aplicaciones Web de baja complejidad

Diseño e Implementación de Bases de Datos

Bases de Datos SQL - Ejemplos

RUEDA TORRES DULCE CAROLINA 3CM2. MySQL CON NET BEANS PRÁCTICA 8

MANUAL BÁSICO DE MySQL

FIREBIRD: SQL PROCEDIMENTAL (PSQL)

Structured Query Language. Práctica

Programación Android. Rafael Morón Abad

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción:

EXAMEN TEMAS 3, 4 y 5. CREACIÓN Y EXPLOTACIÓN DE UNA BASE DE DATOS

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO

Bases de Datos. Diseño y Programación Avanzada de Aplicaciones. Curso

Ahora después de ver las múltiples herramientas de desarrollo de ABAP, podemos ver los detalles del lenguaje:

TUTORIAL DATA WAREHOUSE SQL Server: ETL Parte II

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

- Bases de Datos - - Diseño Físico - Luis D. García

Formato para prácticas de laboratorio

VISUAL BASIC.NET. NIVEL COMPLETO

T12 Vistas y tablas temporales

Módulo 7. Administración de MySQL

Construcción de una aplicación web para crear un sistema de encuestas con la tecnología PHP y la base de datos MySQL.

Unidad. Lenguaje SQL. (Structured Query Language)

Procesamiento y Optimización de consultas Material Preliminar en preparación

Conectar Flash con Access usando MDM Zinc

Tutorial de Unity 3D Tema 52 Bases de Datos. Tutorial de Unity 3D. Bases de Datos

Seminario 1. Conexión a Oracle

Procedimientos almacenados con parametros de salida

CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B)

- Acción para errores de comandos de lotes o sqlcmd. - Se conecta a una instancia de SQL Server.

Persistencia en Android: ficheros y SQLite

mysql Departamento de Lenguajes y Computación Universidad de Almería mysql Contenidos

PROCEDIMIENTOS ALMACENADOS. CREATE PROCEDURE nombreprocedimiento tipodato [=valordefecto]][,...]

MSSQL 2014 Virtualmente todos los tipos de datos

Objective C (Desarrollo con Apple)

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

PG/PLSQL. Miguel Ángel Manso ETSI en Topografía, Geodesia y Cartografía - UPM

BASES DE DATOS - SQL. Javier Enciso

Transcripción:

Datos persistentes en IOS Luis Montesano & Ana Cristina Murillo

Tres opciones Archivos SQLite Core Data

SQLite SQL: Structured Query Language No en detalle. Solo vamos a ver como integrarlo en IOS y en una aplicación MacOS incorpora una pre-instalación de SQLite sqlite3./mydatbase.db SQLite version 3.6.12 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite>

Conocimientos mínimos de SQL Los datos se organizan en tablas Crear una tabla: create table contacts (id integer primary key autoincrement, name text, address text, phone text); Ver tablas: sqlite>.tables contacts Insertar registros en las tablas: sqlite> insert into contacts (name, address, phone) values ("Bill Smith", "123 main Street, California", "123-555-2323"); sqlite> insert into contacts (name, address, phone) values ("Mike Parks", "10 Upping Street, Idaho", "444-444-1212");

Conocimientos mínimos de SQL II Recuperar registros de una tabla sqlite> select * from contacts; 1 Bill Smith 123 main Street, California 123-555-2323 2 Mike Parks 10 Upping Street, Idaho 444-444-1212 Recuperar registros que cumplen con un criterio: sqlite> select * from contacts where name="mike Parks"; 2 Mike Parks 10 Upping Street, Idaho 444-444-1212 To exit from the sqlite3 interactive environment: sqlite>.exit

Simulador IOS Las bases de datos que cree el telefono se guardan en el ordenador /Users/<user>/Library/Application Support/iPhone Simulator/ <sdk version>/applications/<id>/documents Permite depurar y consultar desde fuera del navegador

SQLite en IOS Es necesario añadir la librería dinámica libsqlite3.dylib Añadir en Existing frameworks Incluir el import correspondiente #import "/usr/include/sqlite3.h" La libreria contiene funciones en C, que son facilmente llamadas desde Objective C Algunas conversiones entre cadenas

Funciones de SQLite sqlite3_open() - Opens specified database file. If the database file does not already exist, it is created. sqlite3_close() - Closes a previously opened database file. sqlite3_prepare_v2() - Prepares a SQL statement ready for execution. sqlite3_step() - Executes a SQL statement previously prepared by the sqlite3_prepare_v2() function. sqlite3_column_<type>() - Returns a data field from La lista completa esta en: http://www.sqlite.org/c3ref/funclist.html.

Pasos básicos Declarar una based de datos Abrir o crear una base de datos Preparar y ejecutar una sentencia SQL Crear una tabla Extraer información de una tabla Cerrar una base de datos

Declarar una base de datos Paso necesario para cualquier tarea sobre una base de datos int sqlite3_open(const char *filename, sqlite3 **database); Podeis ver la estructura sqlite3 en sqlite3.h

Apertura Apertura int sqlite3_open(const char *filename, sqlite3 **database); Ejemplo con NSString: sqlite3 *contactdb; //Declare a pointer to sqlite database structure const char *dbpath = [databasepath UTF8String]; // Convert NSString to UTF-8 if (sqlite3_open(dbpath, &contactdb) == SQLITE_OK) { //Database opened successfully } else { //Failed to open database }

Preparación: Ejecutar sentencia SQL sqlite3_stmt *statement; NSString *querysql = @"SELECT address, phone FROM contacts ; const char *query_stmt = [querysql UTF8String]; if (sqlite3_prepare_v2(contactdb, query_stmt, -1, &statement, NULL) == SQLITE_OK) { //Statement prepared successfully } else { //Statement preparation failed } Uso de la sentencia: sqlite3_step(statement); sqlite3_finalize(statement);

Creación de una tabla const char *sql_stmt = "CREATE TABLE IF NOT EXISTS CONTACTS (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, ADDRESS TEXT, PHONE TEXT)"; if (sqlite3_exec(contactdb, sql_stmt, NULL, NULL, &errmsg) == SQLITE_OK) { // SQL statement execution succeeded }

Consulta de una tabla SQL usa la sentencia SELECT Puede haber multiples respuestas Dos pasos: Preparación sqlite3_stmt *statement; NSString *querysql = @"SELECT address, phone FROM contacts ; const char *query_stmt = [querysql UTF8String]; sqlite3_prepare_v2(contactdb, query_stmt, -1, &statement, NULL);

Consulta de una tabla Dos pasos: Ejecución while (sqlite3_step(statement) == SQLITE_ROW) { NSString *addressfield = [[NSString alloc] initwithutf8string: (const char *) sqlite3_column_text(statement, 0)]; NSString *phonefield = [[NSString alloc] initwithutf8string: (const char *) sqlite3_column_text(statement, 1)]; // Code to do something with extracted data here [phonefield release]; [addressfield release]; } sqlite3_finalize(statement);

Cerrar la base de datos Al terminar se debe cerrar la base de datos sqlite3_close(contactdb);