Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Unity(c#)中创建sqlite数据库?_C#_Database_Sqlite_Unity3d - Fatal编程技术网

如何在Unity(c#)中创建sqlite数据库?

如何在Unity(c#)中创建sqlite数据库?,c#,database,sqlite,unity3d,C#,Database,Sqlite,Unity3d,我需要为android项目在Unity(C#)中创建sqlite数据库,但找不到所需的信息或教程 我正在关注这个链接 但我得到了这个错误: Failed to load 'Assets/Plugins/sqlite3.dll', expected 64 bit architecture (IMAGE_FILE_MACHINE_AMD64), but was IMAGE_FILE_MACHINE_I386. Mono.Data.Sqlite.SqliteConnection:Open(

我需要为android项目在Unity(C#)中创建sqlite数据库,但找不到所需的信息或教程

我正在关注这个链接

但我得到了这个错误:

 Failed to load 'Assets/Plugins/sqlite3.dll', expected 64 bit architecture (IMAGE_FILE_MACHINE_AMD64), but was IMAGE_FILE_MACHINE_I386.    
 Mono.Data.Sqlite.SqliteConnection:Open()    
 Mono.Data.Sqlite.SqliteConnection:Open()

 Failed to load 'Assets/Plugins/sqlite3.dll', expected 64 bit architecture (IMAGE_FILE_MACHINE_AMD64), but was IMAGE_FILE_MACHINE_I386.
 Mono.Data.Sqlite.SQLite3:Open(String, SQLiteOpenFlagsEnum, Int32, Boolean)
 Mono.Data.Sqlite.SQLite3:Open(String, SQLiteOpenFlagsEnum, Int32, Boolean)
 Mono.Data.Sqlite.SqliteConnection:Open()

 DllNotFoundException: Assets/Plugins/sqlite3.dll
 Mono.Data.Sqlite.SQLite3.Open (System.String strFilename, SQLiteOpenFlagsEnum flags, Int32 maxPoolSize, Boolean usePool)
 Mono.Data.Sqlite.SqliteConnection.Open ()
我使用的是Unity 5(免费版)

sqlite数据库有免费的插件吗


如果可能,请为我提供教程链接。

错误为“DllNotFoundException:Assets/Plugins/sqlite3.dll”,您是否已将sqlite3.dll文件放入Asset/Plugins文件夹?你必须创建这个插件文件夹。

你试过这个吗?也许这会帮助你:

在64位系统上使用32位二进制文件时,会发生此错误。在internet上搜索lot后,我发现64位二进制文件+还添加了一个示例项目。你可以下载它们。

我建议尝试使用专为Unity设计的库。就我个人而言,这就是我处理多平台SQLite处理所做的。我强烈建议使用这个库/包装器

SQLite使Unity3d变得简单

我目前正在改进这一点,使之更易于使用。然而,这可能是一个很好的起点


祝你好运

本教程可以帮助您使用C#在Unity中创建SQLite数据库:


您可以从这里下载所需的插件,它已经包含SQLite库

using Mono.Data.Sqlite;
using UnityEngine;
using System.Data;
然后,要创建数据库,请执行以下操作:

string dbConnectionString = "URI=file:" + Application.persistentDataPath + "/" + dbName + ".db";
IDbConnection dbConnection = new SqliteConnection(dbConnectionString);
dbConnection.Open();
IDbCommand dbCommand = dbConnection.CreateCommand();
dbCommand.CommandText = //write what you want here in SQLite syntax.
然后您需要执行dbc命令

例如,创建新表时:

dbCommand.CommandText = "CREATE TABLE IF NOT EXISTS " + tableName + " ( "
        KeyRequiredLevel + " INTEGER, " +
        KeyPrice + " INTEGER, " +
        KeyPriority + " INTEGER, " +
        KeyIsLoacl + " BOOLEAN, " +
        KeyPercentage + " DOUBLE, " +
        KeyImageURL + " TEXT, " +
        KeyIsActive + " BOOLEAN )" ;

dbCommand.ExecuteNonQuery();

由于您提到了C#,将
unityscript
标记替换为
C#
。感谢您回答我的问题,我遵循了该链接中给出的示例,它也给出了相同的错误:未能加载“Assets/Plugins/sqlite3.dll”,预期的64位体系结构(映像文件\u机器\u AMD64),但它是映像、文件、机器、I386。根据您的体系结构,您应该使用sqlite3.dll版本。也许这个链接会有所帮助(它包括一个x64版本的sqlite3.dll):谢谢你回答我的问题,sqlite3.dll文件已经在Asset/Plugins文件夹中了。