Java では、ステートメントが閉じられると ResultSet にアクセスできませんが、フェッチされた少量のデータが何度も取得され、開いているように見えます。しかし、一般的には API 規則に違反しています。
しかし、OLEDB では、コマンドとリーダーに同じルールが適用されるかどうか疑問に思っています。たとえば、次のコードは 100% 安全ですか? コマンドが破棄されても SQL フェッチ カーソルは開いたままになりますか?
public OleDbDataReader ExecuteReader(string sql, OleDbConnection connection)
{
using (OleDbCommand command = CreateCommand(sql, connection))
{
return command.ExecuteReader();
}
}