Chr*_*ris 4 .net c# sql sqlite system.data.sqlite
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)
Run Code Online (Sandbox Code Playgroud)
C#Pseudo-ish代码:
SQLiteCommand command = new SQLiteCommand(INSERT_COMMAND_TEXT);
command.Parameters.AddWithValue("@paramName", object.value);
command.Connect = connectVar;
command.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
当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
你确定返回值吗?
http://msdn.microsoft.com/en-us/library/system.data.idbcommand.executenonquery.aspx
对于UPDATE,INSERT和DELETE语句,返回值是受命令影响的行数.对于所有其他类型的语句,返回值为-1.
| 归档时间: |
|
| 查看次数: |
9733 次 |
| 最近记录: |