Переиндексировать SQLite не понимаю, как - PullRequest
0 голосов
/ 09 февраля 2019

Это мой первый раз с SQLite, и я пытаюсь переиндексировать свою базу данных SQLite после удаленной записи, но всегда получаю максимальное количество записей в каждой строке 'id'.

enter image description here

строка 'id' должна быть 1, 2, 3 и т. Д.

enter image description here

Когда я удалил запись, я хочу переиндексировать всю таблицу, чтобы 'id' начинался с 1 и заканчивался максимальным числом записей.

Я пробовал все виды вещей, много гуглил, но не удалось.Вот код, который я использую:

void ReIndexDB ()
{
    List<string> importedFiles = new List<string>();
    int recNr = 1;
    int id;

    OpenDB();
    dbcmd = dbconn.CreateCommand();
    sqlQuery = "SELECT * from questions";
    dbcmd.CommandText = sqlQuery;

    reader = dbcmd.ExecuteReader();

    while (reader.Read())
    {
        SqliteCommand command = new SqliteCommand();
        dbcmd2 = dbconn.CreateCommand();

        sqlQuery = "UPDATE questions SET id = '" + recNr + "'";
        recNr++;

        dbcmd2.CommandText = sqlQuery;                                              // sets dbcmd.CommandText to be equal to the insert statement created above
        dbcmd2.ExecuteNonQuery();
    }

    txt_nrOfQuestions.text = recNr.ToString() + " questions in DB";

    reader.Close();
    dbconn.Close();
    reader = null;
    dbcmd.Dispose();
    dbcmd2.Dispose();
    dbcmd = null;
    dbconn = null;

    img_ConfirmationDelete1.rectTransform.anchoredPosition = new Vector2(630f, -15f);
    UIAccess(true);

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