在 Java 中,一旦 Statement 关闭,您将无法访问 ResultSet,尽管很多时候您会获得少量获取的数据,使其看起来像是打开的。但总的来说,它违反了 API 规则。
但是在 OLEDB 中,我想知道命令和阅读器是否适用相同的规则。例如,以下代码 100% 安全吗?即使命令被释放,SQL 提取游标是否会保持打开状态?
public OleDbDataReader ExecuteReader(string sql, OleDbConnection connection)
{
using (OleDbCommand command = CreateCommand(sql, connection))
{
return command.ExecuteReader();
}
}