尝试使用 SQLite C# 将行添加到数据库时出现“System.Data.SQLite.SQLiteException:SQL 逻辑错误”

问题描述 投票:0回答:2

因此,我尝试使用 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", "[email protected]");

var result = myCommand.ExecuteNonQuery(); 
dbObject.CloseConnection();

Console.WriteLine("Rows added: {0}", result);

Console.ReadKey();

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

c# sql sqlite logic-error
2个回答
0
投票

您的查询缺少末尾的括号(在

@email
之后)。

此外,我不确定您在

firstName
email
之间添加的单引号。我认为它们应该被删除。

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

作为与错误无关的旁注,您还需要处置 SQLiteCommand 类,因为它本身不是处置的。您可以使用 using 语句来完成。


0
投票

您的请求有一些错误。就像:“从订单中选择*”:ORDER - sqlite 中的关键字!

© www.soinside.com 2019 - 2024. All rights reserved.