android-sqlite - 使用 sqlite react 原生 cli 中的 TypeError :undefined is not a function . .{near ...db.transaction}

标签 android-sqlite react-native

Console Image

这给了我错误,因为我已经尝试了我的数据库文件存储在 android/src/main/assets/Users_db.db 中的文档中提到的每种方法,但仍然遇到此错误,并且在任何论坛上都找不到任何内容。 遵循了 git 和官方文档中提到的解决方案,但没有结果

我的代码

import React, {Component} from 'react';
import {
  Container,
  Content,
  Header,
  Title,
  Body,
  Text,
  ListItem,
} from 'native-base';
import SQLite from 'react-native-sqlite-storage';
SQLite.DEBUG(true);

SQLite.enablePromise(true);
var database_name = 'Users_db'; // Add your Database name
var database_version = '1.0'; // Add your Database Version
var database_size = 200000; // Add your Database Size
var database_displayname = 'Users_db.db'; // Add your Database Displayname

export default class App extends Component {
  constructor(props) {
    super(props);
    this.state = {usersList: []};
    // SQLite.openDatabase(
    //   {
    //     name: 'Users_db.db',
    //     createFromLocation: '~Users_db.db',
    //     location: 'Library',
    //   },
    var db = SQLite.openDatabase(
      database_name,
      database_version,
      database_displayname,
      database_size,
      this.openCB,
      this.errorCB,
    );
    // this.openCB,
    // this.errorCB,
    db.transaction(tx => {
      tx.executeSql('SELECT * FROM user_table', [], (tx, results) => {
        alert('success');
      });
    });
    // db = SQLite.openDatabase(
    //   {
    //     name: 'Users_db.db',
    //     createFromLocation: 1,
    //   },
    //   this.openCB,
    //   this.errorCB,
    //   this.successToOpenDB,
    //   this.failToOpenDB,
    // );
  }

  successToOpenDB() {
    // db.transaction((tx) => {
    //   tx.executeSql('SELECT * FROM test', [], (tx, results) => {
    //     console.log("Query completed");
    // console.log('success');
  }
  failToOpenDB(err) {
    console.log(err);
  }

  render() {
    return (
      <Container>
        <Header>
          <Body>
            <Title>The Header</Title>
          </Body>
        </Header>
        <Content>
          <ListItem>
            <Text>name hEre</Text>
            <Text>Adress will be here</Text>
          </ListItem>
        </Content>
      </Container>
    );
  }
}

最佳答案

我刚刚删除了“SQLite.enablePromise (true);”一切顺利。

在我看来,我遵循了错误的文档。

关于android-sqlite - 使用 sqlite react 原生 cli 中的 TypeError :undefined is not a function . .{near ...db.transaction},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67175824/

相关文章:

java - 在数据库中搜索行不起作用,字符串比较错误

android:如何在不运行模拟器的情况下操作sqlite数据库?

react-native - react native : how to change <Text> value dynamically

android - 如何在 WebStorm 的模拟器上运行 React Native 项目

javascript - DeviceInfo.getUniqueID 不是函数

android - 应用批量操作后获取id

java - getReadableDatabase 处的 IllegalStateException

安卓内容值 : Are values misordered at insert?

list - ScrolltoIndex 在平面列表上不起作用 react 原生

使用 React Native 进行搜索和过滤