尝试使用 SQLite C 向我的数据库添加行时获得"System.Data.SQLite.SQLiteException: SQL logic error"#



所以我试图插入一个新的行到我的数据库与SQLite3,由于某种原因,我得到一个SQL逻辑错误。

Database dbObject = new Database();
string query = "INSERT INTO info ('firstName, lastName, email') VALUES (@firstName, @lastName, @email";
SQLiteCommand myCommand = new SQLiteCommand(query, dbObject.Connection); //Opens chain of commands
dbObject.OpenConnection();     
myCommand.Parameters.AddWithValue("@firsName", "blank name");
myCommand.Parameters.AddWithValue("@lastName", "blank last name");
myCommand.Parameters.AddWithValue("@email", "blank@gmail.com");
var result = myCommand.ExecuteNonQuery(); 
dbObject.CloseConnection();
Console.WriteLine("Rows added: {0}", result);
Console.ReadKey();
谁能告诉我我做错了什么?谢谢你!

您的查询漏掉了末尾的括号(在@email之后)。

此外,我不确定您在firstNameemail之间添加的单引号。我认为它们应该被删除。

"INSERT INTO info (firstName, lastName, email) VALUES (@firstName, @lastName, @email)";

作为与错误无关的旁注,您还需要处置SQLiteCommand类,因为它不是由自身处置的。您可以使用statement.

最新更新