SqlDataAdapter  是段开式连接  是怎么样实现的???

解决方案 »

  1.   

    fill 前连接是open的,fill 后连接也是open的
    fill 前连接是close的,fill 后连接也是close的
    我估计是这样fill()
    {
      oldstate=connection.State;
      try
      {
        if (oldstate!=ConnectionState.Open)
         connection.Open();
        fill...
      }
      finally
      {
        if (oldstate!=ConnectionState.Open)
          connection.Close();
      }
        
    }
      

  2.   

    什么断开式连接?
    既然要连接断开怎么连?郁闷
    SqlDataAdapter 是数据适配器,用于填充dataset和更新数据库一组命令和数据连接
    在平时主要用于填充dataset
    [code=C#]DataSet oDs = new DataSet();
    SqlDataAdapter oD = new SqlDataAdapter(sql,conn);
    oD.Fill(oDs);code]
      

  3.   


    string source = @"Data Source=服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=sa;Password=1234567";
                string sql = "SELECT  * FROM Table_1 ";            using (SqlConnection conn = new SqlConnection(source))
                {
                    
                    SqlCommand querycmd = new SqlCommand(sql, conn);
                    SqlDataAdapter oad = new SqlDataAdapter(querycmd);        
                    DataSet ds = new DataSet();
                    oad.Fill(ds, "table");
                    dataGridView1.DataSource = null;
                    dataGridView1.DataSource = ds.Tables[0];
                }
      

  4.   

    string source = @"Data Source=服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=sa;Password=1234567";
                string sql = "SELECT  * FROM Table_1 ";            using (SqlConnection conn = new SqlConnection(source))
                {
                    
                    SqlCommand querycmd = new SqlCommand(sql, conn);
                    SqlDataAdapter oad = new SqlDataAdapter(querycmd);        
                    DataSet ds = new DataSet();
                    oad.Fill(ds, "table");
                    dataGridView1.DataSource = null;
                    dataGridView1.DataSource = ds.Tables[0];
                }读取数据集后会断开和数据库的链接 有连接的过程断开的过程  需要的时候在连接上
      

  5.   

    SqlDataAdapter 是将数据库中的数据装填到DataSet对象中.  用户在使用DataSet在内存中的数据时候,不需要再到内存中去取数据,而是直接在对内存中的数据进行操作.   这就是断开连接的意思.  
      

  6.   

    using (SqlConnection conn = new SqlConnection(source))
    使用using语句连接数据库,在使用结束时,自动释放资源。SqlDataAdapter 是 DataSet 和 SQL Server 之间的桥接器,用于检索和保存数据。SqlDataAdapter 通过对数据源使用适当的 Transact-SQL 语句映射 Fill(它可更改 DataSet 中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet 中的数据)来提供这一桥接。你说的那个段开式连接?我没听说过。SqlDataAdapter起一个桥梁的作用啊。连接DataSet与SQL Server啊
      

  7.   

    会自动打开和关闭数据库,不如一些可以脱机工作的软件,从数据库获得数据后存储在dataset中,dataset可以以XML保存在硬盘中
    在处理完数据后,在更新回数据库不需要直至连接数据库,减少压力。或则是一次获得要的数据,不在向服务器请求,当不要的时候在和服务器通信
      

  8.   


    ado.net中对于数据集datatable的填充就是一种可断开式连接.可以理解为数据取回来连接就可以关闭了.
    可以和datareader作对比,因为datareader在使用过程中必须是保持连接的.可断开式连接可以说是ado.net中一个非常伟大的功能:)
      

  9.   


    如果在使用SqlDataAdapter 之前是显示打开连接.则需要显示关闭如果不显示打开.他会自动的打开连接.然后填充数据完毕后自动关闭!