字符串<add name="conn" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.34)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=account)));User ID=alef;Password=alef123;Unicode=True"
     providerName="System.Data.OracleClient" />
连接public void Open()
        {
            if (conn == null)
            {
                conn = new OracleConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
            }
            if (conn.State.Equals(ConnectionState.Closed))
            {
                conn.Open();
            }
        }        public void Close()
        {
            if (conn.State.Equals(ConnectionState.Open))
            {
                conn.Close();
                //释放资源
                conn.Dispose();
            }
            else
            {
                conn.Dispose();
            }
        }
Readpublic int ExecuteRead(string sql)
        {
            try
            {
                Open();
                cmd = new OracleCommand(sql, conn);
                OracleDataReader dr = cmd.ExecuteReader();
                dr.Read();
                return dr.GetInt32(0);
            }
            catch (Exception)
            {
                return -1;
            }
            finally
            {
                Close();
            }
        }
执行方法public int ReadID1(CharDetail zs)
        {
            sql = "select id1 from CHARDETAIL where charid='" + zs.charid + "'";
            int id1 = db.ExecuteRead(sql);
            return id1;
        }        public int ReadID2(CharDetail zs)
        {
            sql = "select id2 from CHARDETAIL where charid='" + zs.charid + "'";
            int id2 = db.ExecuteRead(sql); 
            return id2;
        }我的问题就是 执行了ReadID1() 并且成功后 又执行ReadID2()他就提示说 Connection 属性尚未初始化

解决方案 »

  1.   

    执行ReadID2的时候, con是不是关了?
      

  2.   

    你这段是放在appSettings节下还是放在connectionStrings下的?
    <add name="conn" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.34)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=account)));User ID=alef;Password=alef123;Unicode=True"
         providerName="System.Data.OracleClient" />
      

  3.   

    把 程序中的conn.Dispose(); 去了试试
      

  4.   

    using(OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString))
    {}
    CommandBehavior.CloseConnection