如何在react native中的sqlite3中创建数据库
我在这个链接中浏览了所有的细节。我被他们的文件弄糊涂了如何在react native中的sqlite3中创建数据库,sqlite,react-native,react-native-android,react-native-ios,cordova-sqlite-storage,Sqlite,React Native,React Native Android,React Native Ios,Cordova Sqlite Storage,我在这个链接中浏览了所有的细节。我被他们的文件弄糊涂了 ... 1.SQLite.openDatabase({name : "testDB", createFromLocation : 1}, okCallback,errorCallback); // default - if your folder is called www and data file is named the same as the dbName - testDB in this exampl
...
1.SQLite.openDatabase({name : "testDB", createFromLocation : 1}, okCallback,errorCallback);
// default - if your folder is called www and data file is named the same as the dbName - testDB in this example
2.SQLite.openDatabase({name : "testDB", createFromLocation : "~data/mydbfile.sqlite"}, okCallback,errorCallback);
// if your folder is called data rather than www or your filename does not match the name of the db
3.SQLite.openDatabase({name : "testDB", createFromLocation : "/data/mydbfile.sqlite"}, okCallback,errorCallback);
// if your folder is not in app bundle but in app sandbox i.e. downloaded from some remote location.
...
上述声明将起到什么作用?它将创建一个数据库还是打开一个位于
www
或asset
文件夹中的数据库?我可以在任意文件夹中创建数据库吗
没有,我在这里找到了一个明确的答案。这就是为什么我在stackoverflow中问这个问题。我以前也遇到过同样的问题。您需要根据文档进行所有设置。之后,如果您使用
createFromLocation
提供database.db
的位置,那么您必须创建一个空的数据库文件并将其手动粘贴到资产中,如果您不想手动创建,那么您只需使用SQLite.openDatabase({name:“testDB”})
它将按照提供的名称为自己创建一个数据库。希望这能对你有所帮助,请告诉我它是否有效。我以前也遇到过同样的问题。您需要根据文档进行所有设置。之后,如果您使用createFromLocation
提供database.db
的位置,那么您必须创建一个空的数据库文件并将其手动粘贴到资产中,如果您不想手动创建,那么您只需使用SQLite.openDatabase({name:“testDB”})
它将按照提供的名称为自己创建一个数据库。希望这能对您有所帮助,请告诉我它是否有效。我有{name:“testDB”,createFromLocation:1}
最初,它很成功。然后我将assets中的文件名更改为testDB1
&然后{name:“testDB1”,createFromLocation:1}
。我清除了应用程序数据并重新运行项目。然后它抛出错误,无法打开数据库
。那里发生的事情让人很困惑,我只想知道。是否可以在特定文件夹上创建数据库。此外,为了填充数据,我们需要为ios和android执行不同的步骤。我来自nativescript背景,在那里,两个平台都非常容易,因为它使用相同的代码。@rock如果使用预填充的db,则必须指定db的位置,还必须使用特定的文件夹,如果没有预填充的db,则无需提供位置。对于预填充的try this()和简单的try this()@rock在链接命令后重新运行项目,即react native link
,如果更改任何组件的属性,我使用的是android,位置不按照文档考虑,我最初有{name:“testDB”,createFromLocation:1}
,这就是成功。然后我将assets中的文件名更改为testDB1
&然后{name:“testDB1”,createFromLocation:1}
。我清除了应用程序数据并重新运行项目。然后它抛出错误,无法打开数据库
。那里发生的事情让人很困惑,我只想知道。是否可以在特定文件夹上创建数据库。此外,为了填充数据,我们需要为ios和android执行不同的步骤。我来自nativescript背景,在那里,两个平台都非常容易,因为它使用相同的代码。@rock如果使用预填充的db,则必须指定db的位置,还必须使用特定的文件夹,如果没有预填充的db,则无需提供位置。对于预填充的,请尝试此()和简单的,请尝试此()@rock在链接命令后重新运行项目,即,react native link
,以防更改任何组件的属性。我使用的是android,位置不符合文档要求