0

所以我试图用 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();

有人可以告诉我我做错了什么吗?谢谢!

4

1 回答 1

0

您的查询在末尾缺少括号(在 之后@email)。

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

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

并且作为与错误无关的旁注,您还需要处置 SQLiteCommand 类,因为它不是自己处置的。您可以使用 using 语句来做到这一点。

于 2021-07-26T19:20:41.210 回答