【发布时间】:2017-05-30 22:49:04
【问题描述】:
有多个相关问题,但没有一个能解决我的问题。 我有一个连接到 sqlite 数据库的 C# (WPF) 应用程序。数据库中有 2 个模型类 - Dealer 和 Order 以及 2 个对应的表。
我能够在 Dealer 表中执行 CRUD 操作,但是当尝试在 Order 表中执行相同操作时,我得到一个异常 - SQL 逻辑错误或缺少数据库。我正在粘贴一些相关代码:
对于经销商
using(SQLiteConnection conn = new SQLiteConnection(connectionString)) {
conn.Open();
using(SQLiteCommand cmd = new SQLiteCommand(conn)) {
cmd.CommandText = "INSERT INTO Dealer(name, address, contact, note) VALUES (@Name, @Address, @Contact, @Note)";
cmd.Prepare();
cmd.Parameters.AddWithValue("@Name", dealer.Name);
cmd.Parameters.AddWithValue("@Address", dealer.Address);
cmd.Parameters.AddWithValue("@Contact", dealer.Contact);
cmd.Parameters.AddWithValue("@Note", dealer.Note);
try {
result = cmd.ExecuteNonQuery();
}
订购
using(SQLiteConnection conn = new SQLiteConnection(connectionString)) {
conn.Open();
using(SQLiteCommand cmd = new SQLiteCommand(conn)) {
cmd.CommandText = "INSERT INTO Order(dealer_id, note) VALUES (@DealerId, @Note)";
cmd.Prepare();
cmd.Parameters.AddWithValue("@DealerId", order.DealerId);
cmd.Parameters.AddWithValue("@Note", order.Note);
try {
result = cmd.ExecuteNonQuery();
}
我在cmd.ExecuteNonQuery(); Order 语句中得到了异常。
我已经交叉验证了列名拼写并尝试了SELECT * FROM Order,它再次返回了相同的异常。
我还尝试了上面 For Order 代码中的SELECT name FROM sqlite_master WHERE type='table' AND name='Order'; 来检查表是否存在并返回正确的表名。
请帮忙。提前致谢。
【问题讨论】:
标签: c# wpf visual-studio-2015 sqlite