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