Я пытаюсь вставить данные из объекта в таблицу SQLite. В другую таблицу (слова) той же базы данных, используя ту же технику, которую я могу успешно вставить. Названия свойств объекта такие же, как и полей внутри таблицы. В этой таблице нет первичного ключа.
Код, который не работает:
Я пытаюсь вставить данные из объекта в таблицу SQLite. В другую таблицу (слова) той же базы данных, используя ту же технику, которую я могу успешно вставить. Названия свойств объекта такие же, как и полей внутри таблицы. В этой таблице нет первичного ключа. Код, который не работает: [code]using (IDbConnection cnn = new SQLiteConnection(connection)) { foreach (bridgeRecord br in bridgeWords) { try { cnn.Execute("insert into bridge (engWord, spaWord, frequency, wordClass) values (@engWord, @spaWord, @frequency, @wordClass)", br); } catch (SQLiteException ex) { Console.WriteLine(ex); } } } [/code] Код, который работает: [code]using (IDbConnection cnn = new SQLiteConnection(connection)) { foreach (Word w in words) { try { cnn.Execute("insert into words (word, wordSimplified, confidence, difficulty, wordClass, wordCategory, dateTestedLast, popularity, language) " + "values (@word, @wordSimplified, @confidence, @difficulty, @wordClass, @wordCategory, @dateTestedLast, @popularity, @language)", w); } catch (SQLiteException ex) { wordsBouncedBack.Add(w.word); continue; } } } [/code] [code]bridgeRecord[/code] класс: [code]class bridgeRecord { public string engWord; public string spaWord; public int frequency; public string wordClass; } [/code] Ошибка: [code]code = Unknown (-1), message = System.Data.SQLite.SQLiteException (0x80004005): unknown error Insufficient parameters supplied to the command at System.Data.SQLite.SQLiteStatement.BindParameter(Int32 index, SQLiteParameter param) [/code] Я ожидал, что объект BridgeRecord предоставит параметры для вставки, но это не так, хотя объект Word прекрасно предоставляет параметры.