Кто-нибудь знает лучший способ подключить реактивное-нативное-хранилище?Мой отладчик получает «нет такой таблицы: nameOfTable (code 1)» после запроса.
Я должен получить «id», «name» и «фамилия» из таблицы с именем «person».Я подключил свою предварительно заполненную базу данных ("mioDB"), расположенную в "/android/app/src/main/assets/mioDB.db".
Это мой маленький код:
import React,{Component} from 'react';
import {TextInput,View,Text,TouchableOpacity} from 'react-native';
import { openDatabase } from "react-native-sqlite-storage";
let mioDB = openDatabase('mioDB');
class App extends Component{
constructor(props){
super(props);
this.state={
name:'',
lastName:''
};
}
showData=()=>{
alert('name: '+this.state.name+' lastName: '+this.state.lastName);
};
listOfNames=()=>{
try{
mioDB.transaction((statement)=>{
console.log('****************');
statement.executeSql('SELECT * FROM person',[],(statement,results)=>{
console.log('****************');
var len = results.rows.length;
for (let i = 0; i < len; i++) {
let row = results.rows.item(i);
console.log(`Record: ${row.name}`);
}
});
});
}catch(error){
alert(error);
}
};
render(){
return(
<View style={{marginTop:100}}>
<TextInput style={{fontSize:20}} placeholder='name' onChangeText={(text)=>this.setState({name:text})}/>
<TextInput style={{fontSize:20}} placeholder='lastName' onChangeText={(text)=>this.setState({lastName:text})}/>
<TouchableOpacity style={{width:150,height:50}} onPress={this.showData}><Text>Create db</Text></TouchableOpacity>
<TouchableOpacity style={{width:150,height:50}} onPress={this.listOfNames}><Text>Show database</Text></TouchableOpacity>
</View>
);
}
}
export default App;
от отладчика
Я не знаю, где это неправильно, потому что система легко подключается