Sqlitedatabase+;统一
我正在尝试连接sqlite数据库中的unity,但出现错误。这个错误意味着什么?Sqlitedatabase+;统一,database,unity3d,Database,Unity3d,我正在尝试连接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.SqliteDataRe
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()
{
Connection = "URI=file:" + Application.dataPath + "/English_Booster_Game_DB.s3db"; //Path to database.
GetOneUsername();
}
我正在尝试使用此代码。这是我的void Start()
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()
{
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\u name
string selectoneusername = "select UserData_name from user_data where UserData_status = 1";
它只返回一个列和索引(以C为单位)#从开始“零”。因此,您应该更改脚本的这一行:
name.text = reader.GetString(1);
致:
我希望它能帮助您第22行是哪一行?错误本身意味着您试图访问数组范围之外的元素索引。例如,如果有一个包含2个元素的数组,则它们的索引分别为
0
和1
。可以通过尝试访问该数组的索引2
来调用此错误,因为它超出了该数据结构的范围。(它不必是数组,它只是一个示例,以及这个错误告诉您的内容)。