Maison >interface Web >js tutoriel >Explication détaillée d'exemples d'utilisation de la base de données SQLite dans React Native
La ligne de commande entre dans le répertoire racine du projet ReactNative et exécute
npm install React-native-sqlite-storage --save
Dans les dépendances, ajoutez un projet de compilation(':react-native-sqlite-storage')
4. Fichier .Java, Enregistrez le module sqlite dans MainActivitiy.java
import org.pgsqlite.SQLitePluginPackage;
@ Remplacer
liste protégée
return Arrays.< ;ReactPackage>asList(
>
🎜>
Utiliser
pour écrire le fichier sqlite.js et introduire le composant import SQLiteStorage from 'react-native- sqlite-storage';Faites attention à chaque
[javascript] afficher la copie simple
importer React, {Component} depuis 'react';
importer{
ToastAndroid,
} depuis 'react-native' ;
importer SQLiteStorage depuis 'react-native-sqlite-storage';
SQLiteStorage.DEBUG(true);
var nom_base de données = "test.db";//Fichier de base de données
var database_version = "1.0";//Numéro de version
var database_displayname = "MySQLite"
var database_size = -1;//-1 Cela devrait signifier
var db
exportation par défaut class SQLite étend le composant{
componentWillUnmount(){
db.close(); 🎜> }
else {} open(){
db = SQLiteStorage.openDatabase(
(err)=>{
});
return db; 🎜>
createTable(){
if (!db) {tx.executeSql('CRÉER UNE TABLE SI N'EXISTE PAS UTILISATEUR(' +
'id INTEGER PRIMARY KEY AUTOINCREMENT,' +
' nom varchar, '+
'téléphone VARCHAR' +
'e-mail VARCHAR' +
🎜> ce. _successCB('executeSql');
this._errorCB('executeSql', euh
}, (err)=> {//Toutes les transactions doivent avoir des méthodes de rappel d'erreur et imprimer des informations d'exception dans la méthode, sinon vous ne saurez peut-être pas ce qui n'a pas fonctionné .
this._errorCB(
})
this.open();
}
'drop table user',[],()=> ;{
'transaction', err);
'transaction');
insertUserData(userData){
let len = userData.length;
if (!db) {
}
this.createTable(); 🎜>
this.deleteData();> db.transaction((tx)=>{
var user = userData[i];
laissez sexe = utilisateur.sex;
let phone = user.phone;
let email = user.email;
let qq = user.qq;
let sql = "INSÉRER INTO utilisateur (nom, âge, sexe, téléphone, e-mail, qq)"+
"valeurs(?,?,?,?,?,?)";
tx.executeSql(sql,[nom,âge,sexe,téléphone,e-mail,qq],()=>{
},(err)=>{
console.log(err);
}
);
}
},(erreur)=>{
ce ._errorCB('transaction', erreur);
ToastAndroid.show("数据插入失败",ToastAndroid.SHORT);
},()=>{
this._successCB('transaction insert data' );
ToastAndroid.show("成功插入 "+len+" 条用户数据",ToastAndroid.SHORT);
});
}
close(){
if(db){
this._successCB('close');
db.close();
}else {
console.log("SQLiteStorage pas ouvert");
}
db = null ;
}
_successCB(name){
console.log("SQLiteStorage "+nom+" succès");
}
_errorCB(nom, erreur){
console.log("SQLiteStorage "+nom);
console.log(err);
}
render(){
return null;
}
} ;
'réagir';
importer {
AppRegistry,
Texte,
Affichage,
Navigateur,
StyleSheet,
} de 'react-native' ;
importer SQLite depuis './sqlite' ;
var sqLite = new SQLite();
var db;
class App étend Component{
compennetDidUnmount(){
sqlite.close();
}
componentWillMount(){
//开启数据库
if(!db){
db = sqLite.open();
}
//建表
sqLite.createTable ();
//删除数据
sqlite.deleteData();
//模拟一条数据
var userData = [];
var user = {};
user.name = "张三";
user.age = "28";
user.sex = "男";
user.phone = "18900001111";
user.email = "2343242@qq.com";
user.qq = "111222";
userData.push(utilisateur);
//插入数据
sqlite.insertUserData(userData);
//查询
db.transaction((tx)=>{
tx.executeSql("select * from user", [],(tx,results)=>{
var len = results.rows.length;
for(let i=0; i
var u = results.rows.item(i);
//一般在数据查出来之后, 可能要setState操作,重新渲染页面
alert("姓名:"+u.name+",年龄:"+u.age+" ,电话:"+u.phone);
}
});
},(erreur)=>{//打印异常信息
console.log(erreur);
});
}
render(){
return null;
}
}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!