私はプロトタイプのアプリケーションを書いています。今では、一意でない列を挿入するなど、いくつかの処理が失敗します。この場合、私はすべてのことをロールバックしたいと思います。それ、どうやったら出来るの? 私はsqliteにも気付いています。データをコミットする必要があります.C#では自動ロールバックオプションがあると思われます。トランザクションsqlite? C#で
答えて
ロールバックは:あなたが探していること
トランザクションは、コマンドテキスト「INSERT OR ROLLBACKが...」であるように見えます。 EDIT:ええ、SQLLiteは本当に「トランザクション」クエリを使用代わりにして、あなたを強制的に
using (DbTransaction dbTrans = myDBConnection.BeginTransaction())
{
using (DbCommand cmd = myDBConnection.CreateCommand())
{
...
}
dbTrans.Commit();
}
SQLite.orgは言う:
SQLiteバージョン3も にロックと同時実行制御 への変更は、トランザクションがSQL 言語レベルで動作し 方法で、いくつかの微妙な変化を紹介します。デフォルトでは、SQLite バージョン3は自動コミットモードで動作します。 自動コミットモードでは、 データベース接続に関連するすべての操作が完了するとすぐに、 データベースに対するすべての変更がコミットされます。
SQLコマンドが (TRANSACTIONキーワードはオプションです) 自動コミット・モードからのSQLiteを取るために使用されている "TRANSACTIONはBEGIN"。 BEGIN コマンドは、データベース のロックを取得しないことに注意してください。 BEGINコマンドの後、 SHAREDロックは、 の最初のSELECTステートメントが実行されたときに取得されます。 A 最初のINSERT、UPDATE、またはDELETEの ステートメントが実行されると、RESERVEDロックが取得されます。いいえ排他的な ロックは、 メモリキャッシュがいっぱいになるまで、または がディスクに書き込まれるまで、または トランザクションがコミットするまで取得されません。このようにして、 システムは、最後に可能な限り の瞬間まで、ファイルアクセスを ファイルにブロックします。 sqliteの自動的に開始するときは、特に述べる場合を除き、独自のトランザクションに各コマンドを置く:
- 1. SQLite C++ APIトランザクションが遅い
- 2. nodejsのSqliteトランザクション
- 3. SQLiteトランザクション数制限?
- 4. Android、SQLiteトランザクションとプロセスフリーズ
- 5. SQLiteのトランザクションとRxJava
- 6. C#SQLiteトランザクション - この使用法は有効ですか?
- 7. Spring + Hibernate + SQLiteトランザクション奇妙
- 8. HTML5、SQLiteトランザクションの質問
- 9. SQLite C API:実行中のトランザクション、エラーへの応答
- 10. AndroidのSQLiteネストされたトランザクションのテスト
- 11. sqlite:マルチインサートトランザクションのトランザクションIDを作成する
- 12. sqliteトランザクションに関する質問
- 13. 新しいトランザクションがオープン操作sqliteの
- 14. 開始、ロールバック、sqliteでxcodeでトランザクションをコミットする
- 15. c#UWP ListView with SqliteバインディングSqlite
- 16. SQLiteのインサートはトランザクションでも遅くなります
- 17. sqlite iphoneアプリケーションでのトランザクションの使用方法
- 18. sqlite、mono、C#クロスプラットフォーム
- 19. C# - Sqlite - エラーロックデータベース
- 20. C#でのsqlite接続XamlParseException
- 21. C++ Poco ODBCトランザクション - AutoCommitモード
- 22. System.Data.Sqlite(C#)対Sqlite(C)のパフォーマンス
- 23. SQLite Windows 8 Metro C#with sqlite-net
- 24. UWPのSQLiteバックアップC#
- 25. C++ MFC SQLite sqlite3_execコールバック
- 26. Objective CのSqliteエラー
- 27. sqlite c#substrはエラー
- 28. はC++とsqliteの
- 29. Android用SQLiteのトランザクションはサポートされていますか?
- 30. Android SQLite - アップグレード中にトランザクションが失敗した後のドロップテーブル
:TMLは、明示的にトランザクションをコミットする/開くの
例がある彼の答えで詳しくもう少しこの部分を説明しますそれらを一つずつ送る悪い習慣。 – djangofan