Sqlitedatabase + единство - PullRequest
       1

Sqlitedatabase + единство

0 голосов
/ 28 августа 2018

Я пытаюсь подключить свое единство в базе данных sqlite, но у меня есть ошибка. что означает ошибка?

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();
                }
            }
        }
    }

1 Ответ

0 голосов
/ 28 августа 2018

В строке запроса вы получите один столбец 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);

Надеюсь, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...