SqliteException: ошибка SQLite Недостаточно параметров, предоставленных команде - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть следующая таблица:

enter image description here

Следующий код:

for (int i = 0; i < lines.Length; i = i + 6)
    {
        print(lines[i]);
        print(lines[i + 1]);
        print(lines[i + 2]);
        print(lines[i + 3]);
        print(lines[i + 4]);
        print(lines[i + 5]);
        print("+++++++++++++++++++++");

        if (lines[i] == "99999") break;


        IDbCommand dbcmd = dbconn.CreateCommand();                                                  //creates command on connection

        string sqlInsert = "INSERT INTO questions (lvl, question, answer1, answer2, answer3, answer4, regdate, nrqasked, timebased, language) VALUES (@lvl, @question, @answer1, @answer2, @answer3, @answer4, @regdate, @nrqasked, @timebased, @language);";   // creates insert statement on sql insert string

        SqliteCommand command = new SqliteCommand();                                //creates new sqlite command
        //dbcmd.Parameters.Add(new SqliteParameter("@id", idNr));
        idNr++; ;
        intNr = int.Parse(lines[i + 1]);
        dbcmd.Parameters.Add(new SqliteParameter("@lvi", lines[i + 1]));
        dbcmd.Parameters.Add(new SqliteParameter("@question", lines[i + 2]));
        dbcmd.Parameters.Add(new SqliteParameter("@answer1", lines[i + 3]));
        dbcmd.Parameters.Add(new SqliteParameter("@answer2", lines[i + 4]));
        dbcmd.Parameters.Add(new SqliteParameter("@answer3", lines[i + 5]));
        dbcmd.Parameters.Add(new SqliteParameter("@answer4", ""));
        string myDate = System.DateTime.Now.ToString("yyyy.MM.dd");
        dbcmd.Parameters.Add(new SqliteParameter("@regdate", myDate));
        dbcmd.Parameters.Add(new SqliteParameter("@nrqasked", 0));
        dbcmd.Parameters.Add(new SqliteParameter("@timebased", 0));
        dbcmd.Parameters.Add(new SqliteParameter("@language", "SE"));

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

Я получаю:

SqliteException: ошибка SQLite Недостаточно параметров, предоставленных команде

Поскольку я едва использовал SQLite, я не могу понять проблему.Я нашел и проверил другое решение, но не смог.

1 Ответ

0 голосов
/ 16 февраля 2019

Похоже на опечатку в этой строке dbcmd.Parameters.Add(new SqliteParameter("@lvi", lines[i + 1]));.Вы имели в виду @lvl?

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