ADO.NET_第三篇_判读数据库状态

+++ 本例演示如何判断数据库的状态
protected void Page_Load(object sender, EventArgs e)
{
    string connStr = "data source=ora9; uid=scott; pwd=tiger; unicode=true";
    string sqlStr = "SELECT * FROM EMP";
    System.Data.OracleClient.OracleConnection conn = new System.Data.OracleClient.OracleConnection(connStr);
    conn.Open();
    if (conn.State == ConnectionState.Closed)
    {
        conn.Open();
    }
    System.Data.OracleClient.OracleCommand cmd = conn.CreateCommand();
    cmd.CommandText = sqlStr;
    cmd.CommandType = CommandType.Text;
    try
    {
        System.Data.OracleClient.OracleDataReader dr = cmd.ExecuteReader();
        Response.Write("EMP表的字段数量:" + dr.FieldCount + "</br>");
        while (dr.Read())
        {
            Response.Write(dr.GetInt32(0).ToString() + ", " + dr.GetString(1) + ", " +
                dr.GetOracleString(2).ToString() + ", " + dr.GetInt32(3).ToString() + ", " +
                dr.GetDateTime(4).ToString() + ", " + dr.GetDecimal(5).ToString() + "</br>");
        }
        dr.Close();
        dr.Dispose();
        cmd.Dispose();
    }
    catch (Exception ex)
    {
        Response.Write(ex.Message + "</br>");
    }
    finally
    {
        if (conn.State == ConnectionState.Open)
        {
            conn.Close();
            conn.Dispose();
        }
    }
}

+++ 说明:
1) 判断数据库的状态相当重要。编程时要保证,访问完数据库后要立刻关闭。简单来说,当你连接数据库后,数据库会为你分配资源,如果在你访问完数据库后不关闭与数据库的连接,并且释放资源,时间长了会消耗很多数据库资源,结果你能想象到。
2) 因此,在项目中,通常划分为UI层、业务层和数据库层。应该在数据库层规范数据库的访问,保证程序的稳定性。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值