【问题标题】:Cannot connect to MS-SQL with react-native无法使用 react-native 连接到 MS-SQL
【发布时间】:2019-02-14 14:51:16
【问题描述】:

我使用了以下包 从“react-native-mssql”导入 MSSQL;

悬停在上述包裹附近,它显示 找不到模块“react-native-mssql”的声明文件。 'd:/React Native Apps/Login/node_modules/react-native-mssql/index.android.js' 隐含了一个 'any' 类型。 尝试npm install @types/react-native-mssql(如果存在)或添加包含declare module 'react-native-mssql'; 的新声明(.d.ts)文件 模块“d:/React Native Apps/Login/node_modules/react-native-mssql/index.android

我已尝试按上述方式安装,但没有任何效果。

在代码中,我在下面的行中遇到错误。 MSSQL.connect(config);

错误如下 undeined 不是对象(评估 '_reactNativeMssql2.default.connect')

请告诉我如何使用 react-native 连接到 MSSQL。

【问题讨论】:

  • 你有最新版本的 react-native 吗?因为似乎是一个 react-native 源代码错误。

标签: sql-server typescript react-native


【解决方案1】:

react-native-mssql可以和npm install --save react-native-mssql一起安装

然后编辑文件android/settings.gradle并添加:

include ':react-native-mssql'
project(':react-native-mssql').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-mssql/android')

还有文件android/app/build.gradle:

dependencies {
    ...
    implementation project(':react-native-mssql')
}

然后可以将其添加到包列表中:

...
import com.stonem.mssql.MSSQLPackage;

...
@Override
protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
        ...
        .addPackage(new MSSQLPackage())
        ...
    );
}

然后连接:

import MSSQL from 'react-native-mssql';
...

let config = {
    server: '192.168.1.1', // ip address of the mssql database
    username: 'sa',        // username to login to the database
    password: 'password',  // password to login to the database
    database: 'admin',     // the name of the database to connect to
    port: 1234             // OPTIONAL, port of the database on the server
}
MSSQL.connect(config);

SELECT 查询示例:

let query = 'SELECT TOP * FROM USERS'
MSSQL.executeQuery(query);

还有一个用于UPDATE 查询:

let query = 'UPDATE USERS SET Active=0'
MSSQL.executeUpdate(query);

一旦不再需要连接,请务必致电MSSQL.close();

【讨论】:

  • 如何在 React-Native , app.js 文件中实现上述代码。请帮助理解上面的代码。
【解决方案2】:

您可以在使用“cd Project_Name”修复问题后,在命令提示符中使用“react-native link react-native-mssql”,如果 “找不到模块“react-native-mssql”的声明文件一直是您的问题。

【讨论】:

    猜你喜欢
    • 2019-04-19
    • 2018-08-31
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    相关资源
    最近更新 更多