![]() |
|
Tasker Para hablar de todo lo relacionado con la aplicación tasker |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
Como crear una pequeña base de datos con SQL3
Este minitutorial va a ser realmente mini.
Se crea asi: Tarea crear BD Sql3 (6) A1: Ejecutar consola [ Comando:sqlite3 mnt/sdcard/Base.db ; create table archivos( id integer primary key, nombre1 text, nombre2 text, nombre3 text) ; Cuenta atrás (segundos):10 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ] Creamos una base con una tabla q se llama archivos, q a su vez tiene 4 campos. El primero es un campo q sql3 se encarga de actualizar el solo y que muestra el numero de registro. Los otros son tres campos llamados nombre1,nombre2,nombre3, puedes llamarlos cómo quieras. Como veis lo de text es para indicar q sob campos de texto. Ahora probar a meter vuestro primer registro con la accion ejecutar consola y este comando (yo dejo marcado usar root siempre por si acaso): sqlite3 /La ruta/que/enlaquehabeis/creadolabase/nombredelabase.db "insert into archivos( nombre1, nombre2 , nombre3 ) values( 'Pepe' , 'Gotera' , 'Calle del Percebe 13' ) ;" Las ventajas de manejar una base asi son tremendas. Ademas de la rapidez es que con Tasker aunque se puedan hacer "bases" se tienen q hacer a base de arrays y creedme si os digo que son un embrollo monumental. Tasker esta bien para hacer una lista, no una base. Por internet hay muchos tutoriales de sql3. Lo de crear bases no esta tan explicado. Este creo q esta muy bien para manejarlas solo: http://deletesql.com/viewforum.php?f...b7d789e846af08 Si no teneis sql3 instalado o teneis problemas miraros el hilo en este foro: "Sqlite3 Problema?...." Una ultima cosa: habreis visto q yo uso comillas en el insert. En ningun tuto he visto q se utilicen. Solo lo he visto en el post que nos dejo Pepelolo sobre Whatsapp.A mi por lo menos es la unica forma de que me funcione. Si alguien me lo puede explicar genial. Última edición por mlesir Día 11/02/14 a las 00:32:19 |
Los siguientes 5 usuarios han agradecido a mlesir su comentario: | ||
|
#2
|
||||
|
||||
Cita:
Ejecutar consola [ Comando:sqlite3 mnt/sdcard/Base.db ;\ncreate table archivos( id integer primary key, nombre text, nombre2 text, nombre3 text) ; Cuenta atr\xe1s (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ] Ejecutar consola [ Comando:sqlite3 sdcard/Base.db "insert into archivos( nombre, apellidos , direccion ) values( \'Pepe\' , \'Gotera\' , \'Calle del Percebe 13\' ) ;" Cuenta atr\xe1s (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ] ' la ruta del archivo en la segunda tarea tiene que ser la misma en la cual creamos la tabla,no? |
#3
|
Perdona por no contestar antes. Si claro la ruta tiene que ser la misma. Si te fijas en tu segunda instrucción veras que no es la misma, no has puesto la misma ruta.
Y por otro lado de donde has sacado lo de \'pepe' !? Porque pones el símbolo: "\" ??? Los textos van asi: ( 'Pepe',..... |
#4
|
||||
|
||||
No se porque se copio así creo que mande una que estaba haciendo sin terminar en realidad la tengo tal cual lo pusiste, me crea la tabla y así queda con los datos sin completar como si la segunda tarea no inserta nada es así : BD Sql3 (470)
A1: Ejecutar consola [ Comando:sqlite3 mnt/sdcard/Base.db ; create table archivos( id integer primary key, nombre text, nombre2 text, nombre3 text) ; Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ] A2: Ejecutar consola [ Comando:sqlite3 sdcard/Base.db "insert into archivos( nombre, apellidos , direccion ) values( 'Pepe' , 'Gotera' , 'Calle del Percebe 13' ) ;" Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ] |
#5
|
Jusss lo que te dije antes. Las rutas en ambas acciónes tienen que ser la misma tu pones dos rutas distintas:
A1: Ejecutar consola [ Comando:sqlite mnt/sdcard/Base.db ; create table archivos( id integer primary key, nombre text, nombre2 text, nombre3 text) ; Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ] A2: Ejecutar consola [ Comando:sqlite3 sdcard/Base.db "insert into archivos( nombre, apellidos , direccion ) values( 'Pepe' , 'Gotera' , 'Calle del Percebe 13' ) ;" Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ] |
#6
|
||||
|
||||
Perdón no se porque intérprete que el "mnt" era parte de la creación de la base de datos jaja pero ahora estando todo bien me pasa igual me crea la base y no se remplaza: BD Sql3 (470)
A1: Ejecutar consola [ Comando:sqlite3 storage/extSdCard/ii.bl ; create table archivos( id integer primary key, nombre text, nombre2 text, nombre3 text) ; Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ] A2: Ejecutar consola [ Comando:sqlite3 storage/extSdCard/ii.bl "insert into archivos( nombre, apellidos , direccion ) values( 'Pepe' , 'Gotera' , 'Calle del Percebe 13' ) ;" Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] |
#7
|
Prueba a quitarle las comillas a ver q pasa y ahora me dices
|
#8
|
||||
|
||||
No funciona, con comillas o sin al abrir el archivo esta así : "SQLite format 3@ -â( ŠŠt;tablearchivosarchivosCREATE TABLE archivos( id integer primary key, nombre text, nombre2 text, nombre3 text)"
|
#9
|
Vale creo q ya se lo que pasa. Si te fijas los nombres de los campos en las dos acciones no son iguales y tienen que serlo. Fallo mio perdóname.
|
#10
|
||||
|
||||
Sigue sin funcionar remplaze por ( nombre1, nombre2 , nombre3 ) . Sera que abra algun espacio o caracter mal copiado en tu ejemplo?? Por ejemplo "( nombre1, nombre2 ,..." en nombre uno la coma esta al lado y en el dos esta separada esto es asi? igual probe con las dos variantes!
|
#11
|
Hazlo otra vez. Primero con algun emulador de terminal y después con tasker. Dime que te pone el terminal y el registro de tasker.
Otra cosa q puede pasar es que no lo estés abriendo con un programa adecuado porque lo normal sería q te dijera q no se han encontrado tablas. Eso q t Prueba por e es raro. Prueba con root Explorer o sqlite debugger. Prueba con las tablas de WhatsApp a ver si es problema de la app con la que lo abres. |
#12
|
|
Cita:
Usa el sqlite debugger por ejemplo como comenta mlesir a ver si tienes la fila creada con los datos. SI no puedes poner que almacene la salida y los errores en variables para mostrarlos a ver si la acción devuelve algún error, o poner despues una acción: Ejecutar consola [ Comando:sqlite3 /sdcard/Base.db "SELECT * FROM archivos;" Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: %resultados Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] y ver si %resultados contiene algo |
#13
|
||||
|
||||
Lo estaba abriendo con el navegador, ahi probe con el debugger y salen como "text" probe ver que marca la variable "resultados" y no contiene nada me tira "resultados" estas son todas las tareas incluida la del error: BD Sql3 (470)
A1: Ejecutar consola [ Comando:sqlite3 storage/extSdCard/ii.bl ;create table archivos( id integer primary key, nombre text, nombre2 text, nombre3 text) ; Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ] A2: Ejecutar consola [ Comando:sqlite3 storage/extSdCard/ii.bl "insert into archivos(nombre1, nombre2 , nombre3 ) values( 'Pepe' , 'Gotera' , 'Calle del Percebe 13' ) ;" Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En: Almacenar Errores En: Almacenar Resultado en: ] A3: Ejecutar consola [ Comando:sqlite3 storage/extSdCard/ii.bl "SELECT * FROM archivos;" Cuenta atrás (segundos):0 Usar Root:Encendido Almacenar Salida En:%resultados Almacenar Errores En: Almacenar Resultado en: Continuar Tarea Tras Error:Encendido ] A4: Popup HTML [ Código:%resultados Disposición:HTML Popup Cuenta atrás (segundos):5 Show Over Keyguard:Encendido ] uploadfromtaptalk1392142276395.jpg Última edición por Jusss Día 11/02/14 a las 19:14:20 |
#14
|
Vale. Creo que es esto q te voy a decir. No se porque utilizas este nombre "ii.dl" cuando tiene q ser este "ii.db". Es la extensión del archivo como .mp3 Prueba a poner esto en la acción se crear y en la de insensato datos.
Para pruebas es mejor usar un emulador de shell. En el market tienes unos cuantos gratis. Te da más información sobre los errores. |
Gracias de parte de: | ||
#15
|
||||
|
||||
Se me cambio en algunos de mis infinitos cambios ja ja igual me pasa lo mismo bueno voy a ver con el terminal gracias por tomarte la molestia de contestar todos mis molestos post
|
#16
|
No es molestia... Bueno un poco! ;) pero tratándose de una mienbr@ cómo tu de este foro todavía tengo mucha paciencia en la reserva. También es verdad que el primer post da muchas cosas por supuestas que no debería.
EDITO : Cómo va? Funciona ya? Última edición por mlesir Día 11/02/14 a las 23:34:39 |
Gracias de parte de: | ||
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 21:22:39 (GMT +2)
HTCMania: líderes desde el 2007