好怪的问题,在page_load中加入datagrid的数据绑定,select * from table
然后用dataset读入:adapter.fill(dataset),再conn.close(),把dataset的数据绑定在datagrid的datasource上。应该是这样的过程吧,可是在绑定之后,我察看了一下oracle的进程(select * from v$session)中,select * from table 这个连接还在的,而且,只要我重新运行程序就会一直增加,直到oracle不能再连接!我已经关闭了阿,为什么在oracle的进程里面还有呢,我快郁闷死了!请各位大侠帮忙!!!!!!!!!!

解决方案 »

  1.   

    晕,你倒是给点儿代码出来哈……
    再说DataAdapter不需要把数据库连接打开,它是自动开自动关的……
      

  2.   

    using (SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
    {
    .......
    }
    这样完成之后就会自动关闭了,只要关闭连接数据库的连接就行了.
      

  3.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack) 

    SetBind();
    }
    }
    protected void SetBind() 

    contect f = new contect();
    string sql_select =  "select * from user_list";
    this.DataGrid1.DataSource = f.ExecuteDataSet(sql_select);
    this.DataGrid1.DataBind();
    }
    ------------------------------------------------
    contect.cs
    ------------------------------------------------
    public DataSet ExecuteDataSet(string sql)
    {
    OracleConnection conn = new OracleConnection(ConnectionString);
    OracleDataAdapter adapter = new OracleDataAdapter(sql, conn); DataSet dataSet = new DataSet(); try
    {
    conn.Open();
    adapter.Fill(dataSet);
    }
    finally
    {
    if (conn.State != ConnectionState.Closed)
    {
    conn.Close();
    }
    }
    return dataSet;
    } 不知道这段代码有没有用,以上的谢过了!
    请大家帮忙指点一下!
      

  4.   

    using (SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
    {}
      

  5.   

    把 if(conn.State != ConnectionState.Closed)去掉
    直接使用conn.Close();
      

  6.   

    我把conn.Open(),conn.Close()都去掉了,可还是时好时坏的!不了解为什么!
      

  7.   

    using (OleDbConnection conn = new OleDbConnection(ConnectionString))
    {
        OleDbDataAdapter adapter = new OleDbDataAdapter(cmdText, conn);
        DataSet ds = new DataSet();
        adapter.Fill(ds);
    }
      

  8.   

    我不是很想改程序,个人感觉只要是绑定上数据了,就一定会有个进程在v$session中的,关闭程序之后进程会自动消失的,与conn.open无关!就这样吧,谢谢大家了!!