English 中文(简体)
指挥官关闭后能否安全进入OlegDBDataReader
原标题:Is it safe to access OleDBDataReader after Command is closed

在java,一旦声明结束,你就无法获得ResultSet,尽管你多次获得少量数据,似乎可以公开。 但总的来说,这违反了APIC规则。

但是,在欧LEDB,我想知道同一规则是否适用于指挥部和读者。 例如,以下法典是否100%安全? 即便指挥得到处置,卡勒克的 cur是否仍然开放?

public OleDbDataReader ExecuteReader(string sql, OleDbConnection connection)
{
  using (OleDbCommand command = CreateCommand(sql, connection))
  {
     return command.ExecuteReader();
  }
}
最佳回答

这根本不建议。 为什么你们会这样做?

当指挥部被解散时(当处决离开使用区块时就会出现这种情况),该连线被关闭,因此,你可能经常使用数据检索器。

然而,这是一个非常坏的想法:

  • 您可以确信,这一联系将关闭,因为它取决于外部守则。

  • 这可能使非行陷入困境,使你们有争议问题。

  • 您的读者使用的连接线保持“燃烧”,无法再利用。

你们应当始终确保读者,然后是相关联系人。 有了这一设计,你就应当依靠回归数据检索器的用户接近读者和链接。 或者至少是读者,如果你使用SqlCommand。 接收指挥Behavior指挥员的超负荷工作,可以确定近距离,这样,在读者关闭时,便自动关闭。

但我坚持认为,你永远不应让数据检索系统开放太久。 数据校对应尽快更新和关闭。 该系统可以避免将数据传输到数据表的间接费用和使用。 一、如数据GridView一样,如果受控制,你可以直接控制数据,避免中间使用数据表,这就需要额外的处理时间和记忆(数据与数据表,然后加以控制,而不是由数据来源直接控制的数据)。

因此,也许你可以这样做,但毫无疑问,你应该!!

问题回答

暂无回答




相关问题
How do I use an ADO.NET managed provider in Excel?

I have an ADO.NET Managed Data Provider that is registered in machine.config in DbProviderFactory - It is available for use from, say, Analysis Services, so I know it is correctly registered. However,...

Problem In get dates between 2 date (vb.net | OLE)

I have an data base (.mdb) and it has a column with dates (dd/mm/yy) , some one give me a code to get all the dates in database between 2 dates , the code was : Select * from table where date ...

热门标签