SQLite没有插入

时间:2009-12-04 09:58:18

标签: c# sqlite

我有以下代码块

SQLiteConnection cnn = new SQLiteConnection("Data Source=" + getDBPath());
cnn.Open();
SQLiteCommand mycommand = new SQLiteCommand(cnn);
string values = "'" + this.section + "','" + this.exception + "','" + this.dateTimeString + "'";
string sql = @"INSERT INTO Emails_Pending (Section,Message,Date_Time) values (" + values + ")"; 
mycommand.CommandText = sql;
mycommand.ExecuteNonQuery();
cnn.Close();

当我执行它时,没有任何反应,没有产生错误,但没有插入任何内容,我做错了什么?

DB的路径是正确的! Insert语句有效,在SQLLite GUI中尝试过(没有问题)

以下是SQL代码段:

"INSERT INTO Emails_Pending (Section,Message,Date_Time) values ('Downloading Received Messages','Object reference not set to an instance of an object.','04.12.2009 11:09:49');"

2 个答案:

答案 0 :(得分:0)

如何在关闭前添加提交

mycommand.Transaction.Commit();

答案 1 :(得分:0)

使用sqlite时应始终使用事务和参数化语句,否则性能会非常慢。

请在此处阅读:Improve INSERT-per-second performance of SQLite?

您的方法也容易受到SQL注入攻击。电子邮件中的消息可以在其正文中包含一段sql,您的代码将执行这段sql。当字符串值中的消息包含“或a”。

时,您也会遇到问题