问题描述
所以我试图用 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
之后)遗漏了括号。
此外,我不确定您在 firstName
和 email
之间添加的单引号。我认为它们应该被移除。
"INSERT INTO info (firstName,lastName,email) VALUES (@firstName,@lastName,@email)";
作为与错误无关的旁注,您还需要处理 SQLiteCommand 类,因为它不会自行处理。您可以使用 using statement 来完成。