已回答 寻找有关OracleCommand类的关键点。

已加入
2019年9月29日
留言内容
2
编程经验
Beginner
大家好,我只是这个庞大的C#世界的初学者。因此,我想知道为什么互联网上的大多数代码都包含 创建新的OracleCommand对象时使用关键字。有什么重要意义吗?
除此之外,我还想知道如何在c#中有效地打开和处理数据库连接。
截图(168).png
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,456
位置
悉尼,澳大利亚
编程经验
10+
首先,请不要张贴代码图片。如果要在这种情况下自己运行,则无法复制和粘贴。如果可能,直接从IDE复制代码,然后将其发布到代码格式窗口中,以便语法突出显示并缩进。

As for the question, the using keyword creates an object within the specified scope that will be disposed at the end of the block. Disposing objects is how managed code releases resources so it should always be done as soon as possible, which means as soon as you are finished using that object. Not all objects can be disposed because not all objects hold resources that need to be released. Generally speaking, any object that does will implement the IDisposable interface 和 any such object should have its Dispose or, if it has one, Close method called when the object is no longer required. The using block will implicitly call that method at the end of the block. If you need to create an object in one method 和 then use it in another then a using block is not an option but anything that is created 和 used only within a narrow scope should be created that way. If in doubt, read the documentation for a type 和 that will tell you whether it implements the IDisposable interface or you can just create a using block 和 the compiler will tell you if it's not valid.

一般而言,所有数据访问对象都应仅在需要时才创建和销毁。不要创建连接并打开它,然后在应用程序的整个生命周期中保持打开状态。如果您只是检索数据,则在执行查询的地方创建并销毁连接。如果要在编辑的任一侧检索和保存数据,则需要将连接保持更长的时间,但仍不要保持打开状态。我的代码示例 这里 可能对您有用。请记住,理想情况下,实际的数据访问代码不应以表格或页面的形式编写,以使表示代码与业务逻辑和数据访问保持独立。但是,几乎每个人都是以这种方式开始的,因此以这种方式学习基础知识,然后再学习关注点分离并没有错。
 
最佳 底部