+++ 本例演示Using关键字
protected void Page_Load(object sender, EventArgs e)
{
string connStr = "data source=ora9; uid=scott; pwd=tiger; unicode=true";
string sqlStr = "SELECT * FROM EMP";
using (OracleConnection conn = new OracleConnection(connStr))
{
conn.Open();
OracleCommand cmd = new OracleCommand(sqlStr, conn);
OracleDataAdapter da = new OracleDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
Response.Write(dr[0].ToString() + ", " + dr[1].ToString() + "
");
}
}
}
+++ 说明
1) 本例演示Using关键字的使用;
2) 这个关键字的作用是自动清除对象的资源,调用对象的Dispose方法,也就是说,不用直接执行Dispose()方法;
3) Using关键字非常不错,微软的很多代码都这么写。
+++ 下面验证using关键字
++ 首先自定义类MyObject,该类继承IDisposable接口,并重载Dispose()方法
using System;
using System.Data;
using System.Configuration;
using System.Windows.Forms;
namespace MyObjects
{
public class MyObject : IDisposable
{
public MyObject()
{ }
public void Dispose()
{
MessageBox.Show("Disposed");
}
}
}
++ 页面后台代码如下
using MyObjects;
using System.Windows.Forms;
protected void Page_Load(object sender, EventArgs e)
{
using (MyObject myObject = new MyObject())
{
MessageBox.Show("QUIT");
}
}
++ 说明:
(1) 观察两个对话框的出现顺序;
(2) Using关键字相当于
try
{ ... }
catch
{ ... }
finnaly
{ MyObject.Dispose(); }