gpt4 book ai didi

database - Sqlite数据库+unity

转载 作者:搜寻专家 更新时间:2023-10-30 20:33:54 24 4
gpt4 key购买 nike

我正在尝试连接 sqlite 数据库中的 unity,但出现错误。错误是什么意思?

IndexOutOfRangeException: Array index is out of range.
Mono.Data.Sqlite.SqliteDataReader.GetSQLiteType (Int32 i)
Mono.Data.Sqlite.SqliteDataReader.VerifyType (Int32 i, DbType typ)
Mono.Data.Sqlite.SqliteDataReader.GetString (Int32 i)
callOneUser.GetOneUsername () (at Assets/callOneUser.cs:41)
callOneUser.Start () (at Assets/callOneUser.cs:22)

我正在尝试使用此代码。这是我的 void Start()

void Start()
{
Connection = "URI=file:" + Application.dataPath + "/English_Booster_Game_DB.s3db"; //Path to database.
GetOneUsername();
}

这是 GetOneUsername() 过程。

public void GetOneUsername()
{
using (IDbConnection dbConnection = new SqliteConnection(Connection))
{
dbConnection.Open();

using (IDbCommand dbCmd = dbConnection.CreateCommand())
{
string selectoneusername = "select UserData_name from user_data where UserData_status = 1";

dbCmd.CommandText = selectoneusername;

using (IDataReader reader = dbCmd.ExecuteReader())
{
while (reader.Read())
{
name.text = reader.GetString(1);
}
dbConnection.Close();
reader.Close();
}
}
}
}

最佳答案

在您的查询字符串中,您得到一列 UserData_name

string selectoneusername = "select UserData_name from user_data where UserData_status = 1";

它只返回 C# 中从“零” 开始的列和索引。因此,您应该更改脚本的这一行:

name.text = reader.GetString(1);

到:

name.text = reader.GetString(0);

希望对你有帮助

关于database - Sqlite数据库+unity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52059942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com