Fragmento:
import { SQLite } from ‘@ionic-native/sqlite’;
db = null;
constructor () {
this.db = new SQLite();
}
Lo del fragmento es inicializar db en null y dejar que el constructor se encargue de instanciar a SQLite, espero que les sirva, saludos.
Tremendo aporte compañero. Es la única forma de hacerlo funcionar en lInux.
Gracias!
Excelente men, gracias. Funciono perfecto de la forma que tu dices.
ionic plugin add cordova-sqlite-storage --save
Bueno como muchos se estan dando cuenta, el código que se usa en la clase ya no funciona de la misma forma. Es por ello que les comparto mi código que a la fecha funciona de la misma forma que lo hace el de la clase, pero esta “actualizado”:
import{Injectable}from'@angular/core';import{SQLite,SQLiteObject}from'@ionic-native/sqlite';@Injectable()exportclassDBService{db:SQLiteObjectconstructor(privatesqlite:SQLite){}openDB(){returnthis.sqlite.create({name:'my_wallet.db',location:'default'}).then((db:SQLiteObject)=>{this.db= db;this.createTable();});}createTable(){let sql =` CREATE TABLE IF NOT EXISTS users(
id INTEGER PRIMARY KEY AUTOINCREMENT,
nick_name TEXT,
full_name TEXT,
email TEXT,
password TEXT)
`;returnthis.db.executeSql(sql,{}).then(()=>{console.log('users Created');})}getAll(){let sql ='SELECT * from users'returnthis.db.executeSql(sql,{}).then(response=>{let users =[]for(let index =0; index < response.rows.length;++index){ users.push(response.rows.item(index))}returnPromise.resolve(users)})}create(user:any){let sql =` INSERT INTO users(nick_name, full_name, email, password)
values (?, ?, ?, ?)
`returnthis.db.executeSql(sql,[user.nick_name, user.nick_name, user.email, user.password]);}}
uuh, copiando el código tal cual me arroja this.db is undefined
El error que se me presenta a mi es el siguiente: (todos reportados desde el archivo db.services.ts)
Property ‘openDatabase’ does not exist on type ‘SQLite’.
Property ‘executeSql’ does not exist on type ‘SQLite’.
Alguien sabe como puedo dar solución a este error?
Yo tengo el mismo problema y no he podido avanzar, busco pero no consigo la solución
Este curso está terriblemente desactualizado
es verdad 😦
Para todos los que tienen problemas (que somos todos por que esta des actualizado este curso) la solución la pueden encontrar aquí mismo en los comentarios gracias al compañero @estebangramosf !!
Y platzi deberías poner mas atención a nuestros comentarios… hay muchos que no pueden seguir con el curso por situaciones como esta, y no dan solución, parece que no nos leen :’(
Hola. Podrían por favor responder las dudas que tenemos? Tengo el mismo problema que todas las preguntas en este video, acerca de cómo instalar sqlite. Gracias
Me puse a leer un poco más respecto al error que tienen algunos con SQLite. No es algo general pero si se ha presentado otros casos. Lo que hicieron para solucionarlo fue cargar el plugin directo desde Github:
cordova plugin add
cordova plugin add
Lo probe con esto y me continuo funcionando, cuentame si se agrego en tu caso. Un favor, abajo igual hay errores diferentes, cuentame que te aparece en la terminal
Yo estuve peleando anoche y no había forma de hacerlo andar, me fui a la documentación, lo agregue y nada, hasta que tuve que hacer ionic state reset y recien ahí me instalo y me tomo correctamente el plugin, pero tuve que importarlo así import { SQLite } from '@ionic-native/sqlite'
No tengo idea de por qué es tan diferente, pero supongo que habrá cambiado algo. Igula voy a probar instalando así desde github y te comento.
Gracias!
por que en los videos de las clases se crean archivos con nombres como
db.service.ts; y en los archivos compartidos se llaman dbservices.ts?
Wow, es algo de la plataforma. Lo arreglaremos, por lo mientras solo tendrias que renombrar los archivos y si quieres algo mas estructurado, recuerda que tenemos repo en Github
a mi me sale el siguiente error en el navegador:
Uncaught Error: Cannot find module "ionic-native"
y en el editor me marca SQLite como indefinida
Por favor actualicen la información referente a las funciones de SQLite. Ya no sirven los openDataBase y los executeSql como se muestra en el video
Usted consiguió la solución?
Si, revisa aquí:
Este video deberían actualizarlo. nada de lo que explican en el sirve ya.
Se va a actualizar todo el curso, por lo mientras puedes mirar el comentario de _dvdgonzalez donde comparte esté ejercicio actualizado
cuando declaro la variable db:SQLite en la class DBService, me lanza un error de Cannot find name ‘SQLite’. El SQLite se instaló correctamente y tengo el import, he estado buscando por internet y no encuentro respuesta… Repasando el código lo tengo todo correcto, por lo que no entiendo por que me pasa… ¿Alguien puede ayudarme? Gracias.
db.service.ts
import{Injectable}from'@angular/core'import{SQLite}from'ionic-native'@Injectable()exportclassDBService{publicdb:SQLiteconstructor(){this.db=newSQLite}openDB(){returnthis.db.openDatabase({name:'data.db',location:'default'})}createTable(){let sql =` CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nickName TEXT,
fullName TEXT,
email TEXT,
password TEXT
)
`returnthis.db.executeSql(sql,[])}getAll(){let sql ='SELECT * FROM users'returnthis.db.executeSql(sql,[]).then(response=>{let users =[]for(let index =0; index < response.rows.length; index++){ users.push(response.rows.item(index))}returnPromise.resolve(users)})}create(user:any){let sql =` INSERT INTO users
(
nickName,
fullName,
email,
password
)
VALUES
(
?,
?,
?,
?
)
`returnthis.db.executeSql(sql,[ user.nickName, user.fullName, user.email, user.password])}}
Si no les funciona: ionic plugin add cordova-sqlite-storage --save
Pueden intentar agregando el plugin desde Github:
cordova plugin add
cordova plugin add
hola me guitaras saber en que carpeta del proyecto inserto ese plugin y como lo llamo en el import de manera manual .lo anterior debido a que por el npm me sale lo siguiente y en el proyecto no me reconoce el import gracias !!!
Dependency warning - for the CLI to run correctly,
it is highly recommended to install/upgrade the following:
Please install your Cordova CLI to version >=4.2.0 `npm ins
You have been opted out of telemetry. To change this, run: co
Saved plugin info for “cordova-sqlite-storage” to config.xml
Ionic soporta mas mas bases de datos aparte de sqlite?
Hola, recuerda que ionic se conecta a la base de datos en el dispositivo entendiendo esto solo es posible conectarse usando sqlite (base de datos en un archivo) o sqlstorage.
También se puede conectar a bases de datos en servidores o servicios “en la nube” como Firebase.
Saludos
Installo sql lite a través de “ionic cordova plugin add cordova-sqlite-storage”
, es más lo veo dentro de la carpeta plugins, pero al compilar da el error de que no enceuntra el módulo solicionado “Cannot find module ‘@ionic-native/sqlite’”.
Alguien que haya podido solucionar esto? Gracias de antemano
no puedo instalar el plugin sqlite. Este es el msj que me aparece al lanzar: cordova plugin add cordova-sqlite-storage --save
Fetching plugin “cordova-sqlite-storage@~2.0.2” via npm
Saved plugin info for “cordova-sqlite-storage” to config.xml
al lanzar: npm install --save @ionic/storage me sale lo siguente:
jorge buenas noches excelente tu curso ,me comunico con tigo para pedirte ayuda pues he tendió inconvenientes con este parte al agregar el plugin,al parecer todo se instala bien pero no me esta reconociendo.
-this.db = new SQLite();
-openDatabase
-executeSql
Por lo que puedo ver no encuentra la ruta
import { SQLite } from ‘ionic-native’;
me remití a
hice el proceso que sugieren y se pudo reconocer esta linea
-this.db = new SQLite();
pero las siguientes funciones no las reconoce
-openDatabase
-executeSql
Es posible que me indiques que puedo hacer para que me reconozca toados las funciones ?
encontraste la solución?? No puedo seguir el curso 😦