SimpleNote、EverNoteなどのアプリケーションは、ユーザーの入力内容を自動的に保存します。私は簡単なアプリケーションで同じことをしようとしています。すべて正常に動作しますが、遅いですが、確かに同じマシンで実行しているアプリケーションよりも遅いです。 (私はC#を使用していますが、私は議論してるすべてのものは、おそらくあまりにも、デルファイに適用されます。)SimpleNoteのようなアプリケーションは、自動的にユーザー入力を更新または保存する方法を教えてください。
私は1つのテーブル(comments
)とSQLiteデータベースを持つ2つのテキストフィールド(name
、feedback
)を有しています。フィールドの1つはリッチテキストボックスからRTFを保持します。自動保存を有効にするには、私は、リッチテキストボックスのTextChanged
イベントが発生し、このコードを実行します。
string sql = @"UPDATE comments SET [email protected] WHERE [email protected]";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.Parameters.Add(new SQLiteParameter("@name", name));
command.Parameters.Add(new SQLiteParameter("@feedback", rtf));
command.ExecuteNonQuery();
(name
とrtf
は、メソッドに渡されたパラメータですが、彼らはフィールドの値を保持するデータベース接続が作成され、オブジェクトのコンストラクタで開かれています。 。)
違うイベントが発生したときにこのコードを実行してください。 ...データベース接続を開いたままにして、新しいコマンドを発行するのは間違っていますか?
FWIW、私は、Delphiの実装は、あなたの質問内のコードのようなものを見ないだろう。 Delphiでは、おそらくより適切なイベントを使用します。 – MartynA