SqliteCommand
の頻度を記述したマニュアルです。そして避けなければならない状況は何ですか?C#でSqliteCommandを使用する
多くの機能を持つこのコードを含む危険性はありますか?
private void UpgradeDataBaseEmptyColumn()
{
var connection = GetConnection();
{
AddColumnIsEmpty(connection);
Thread t = new Thread(() =>
{
ProcessIsEmptyColumn(connection);
});
t.IsBackground = true;
t.Start();
}
}
機能AddColumnIsEmpty
private void AddColumnIsEmpty(SQLiteConnection connection)
{
using (SQLiteCommand command = new SQLiteCommand(connection))
{
//SOmething done
}
}
機能ProcessIsEmptyColumn
public void ProcessIsEmptyColumn(SQLiteConnection connection)
{
using (SQLiteCommand command = new SQLiteCommand(connection))
{
foreach (var item in getEmptyItemsNotUpdated(connection))
{
using (SQLiteTransaction transaction = connection.BeginTransaction())
{
//Something doe
transaction.Commit();
}
}
}
機能getEmptyItemsNotUpdated
private List<int> getEmptyItemsNotUpdated(SQLiteConnection connection)
{
using (SQLiteCommand command = new SQLiteCommand(connection))
{
//return idToUpdate;
}
}
あなたが求めているものを明確にしてください?アプリケーションでは、何百万ものコマンドオブジェクトを使用して、1回の実行でデータベースにクエリを実行できます。あるいはインスタンスの再利用について質問していますか?そうなら、そうしないでください。接続プーリングとは、接続オブジェクトを存続させることにメリットがないことを意味します。コマンドオブジェクトの接続オブジェクトを変更すると混乱することになります。 – Richard
質問を明確にすることはできますか?今は正確に何を求めているのかは不明です。 –
@AndyKorneyev、あなたが正しいのは、広範な問題です。私はいくつかの例を投稿します、たぶんそれは良くなったでしょう。 – A191919