SQL:
CREATE TABLE main.LogRecord (
Id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL ,
TimeStamp DATETIME NOT NULL ,
Type TEXT NOT NULL ,
Severity TEXT NOT NULL ,
Message TEXT NOT NULL ,
Origin TEXT NOT NULL)
INSERT INTO LogRecord
(TimeStamp, Type, Severity, Message, Origins) VALUES
(@timestamp, @type, @severity, @message, @origin)
C# 伪代码:
SQLiteCommand command = new SQLiteCommand(INSERT_COMMAND_TEXT);
command.Parameters.AddWithValue("@paramName", object.value);
command.Connect = connectVar;
command.ExecuteNonQuery();
ExecuteNonQuery()
运行时,1
返回值,根据 SqliteOrg 表示:
SQL 错误或缺少数据库
除了,没有抛出异常并且数据被正确插入。
有没有办法得到LAST_ERROR_MESSAGE
使用System.Data.SQLite
?我只遇到过获取非 .net API 的最后一条错误消息的方法。
当我错误地插入到不存在的列时,会返回相同的错误代码 (1),但这次会抛出最后一条错误消息的异常。
那么如果插入工作正常,为什么会返回 1 呢?任何帮助是极大的赞赏。
编辑:我也尝试不发送TimeStamp DateTime
,以防它是日期格式问题,但发生同样的情况。
编辑:原来 1 是受影响的行数,它都在文档http://msdn.microsoft.com/en-us/library/system.data.idbcommand.executenonquery%28v=vs.80%29.aspx