protected void Page_Load(object sender, EventArgs e)
    {
        this.Title = "DataAdapter对象的Command属性使用示例";        lbtnDel.Text = "删除记录";
        lbtnIns.Text = "插入记录";
        lbtnUpdate.Text = "修改数据";        SqlConnection conn = new SqlConnection();//创建Connection对象
        conn.ConnectionString = "Data Source=bobo;Initial Catalog=grade;Integrated Security=True";        string strSel = "select * from 成绩表 order by 学号";        SqlCommand selcom = new SqlCommand(strSel, conn);//创建Command对象        SqlDataAdapter da = new SqlDataAdapter();//创建DataAdapter对象
        da.SelectCommand = selcom;//指定da对象的SelectCommand属性为SqlCommand对象selcom        DataSet ds = new DataSet();//创建DataSet对象
        da.Fill(ds,"成绩表"); //用查询结果填充DataSet对象中的Table成绩表
        
        GridView1.DataSource = ds.Tables["成绩表"].DefaultView;//将DataSet中的“成绩表”作为GridView控件的数据源
        GridView1.DataBind();
        GridView1.Caption = "<b>浏览全部记录</b>";
        GridView1.Width = 300;   
    
    }上述代码没有conn.Open()方法也可以(正常显示数据库关系表中的数据)实现打开数据库,为什么?谢谢

解决方案 »

  1.   

    SqlCommand selcom = new SqlCommand(strSel, conn);//创建Command对象 
    等于打开了
      

  2.   

    好像不是这样的说法
    DataAdapter 在连接模型和断开连接模型之间起到桥梁的作用,
    DataAdapter 可用于从数据源检索数据并填充dataset 中的表 。在向Dataset 填充数据后,至底层的数据源的连接就被断开
    他不需要手动打开   DataAdapter使用.net framework 数据提供程序的connection对象连接数据库(好像可以自动进行连接)  
      

  3.   

    使用SqlDataAdapter 时,不用使用Connection 对象的Open方法,因为SqlDataAdapter会自动开放一个连接,提交查询,获取结果,最后关闭连接。
      

  4.   

    DbDataAdapter 的内部方法
    private static void QuietOpen(IDbConnection connection, out ConnectionState originalState)
    {
        originalState = connection.State;
        if (originalState == ConnectionState.Closed)
        {
            connection.Open();
        }
    }他会检查conn状态,若是关闭状态,会打开链接
      

  5.   

    调用Fill()方法时,如果连接已经打开,DataAdapter将使用该连接并且执行完毕后也不会自动关闭它。
    如果连接没开,DataAdapter会自动打开,并执行完毕后自动关闭它。
      

  6.   

    SqlDataAdapter 适配器他会自动打开数据库连接也会自动关闭 不过正如楼上说的 你自己开起了或者有些情况下他不会自动关闭的话最好在后面在加个CLOSE()
      

  7.   

    SqlDataAdapter会自动开放一个连接,提交查询,获取结果,最后关闭连接。
      

  8.   

    如果连接是关闭的,DataAdapter会自动打开关闭连接如果连接时打开的,DataAdapter会使用连接,但是不会关闭连接、 
      

  9.   

    DataAdapter 是全自动的不需要手动的打开和关闭~
      

  10.   

    看看SqlDataAdapter类以及父类,用SqlDataAdapter,如果数据库是关闭的就会打开,用完了就恢复到原来的状态
      

  11.   

    SqlDataAdapter  自己会打开的。
      

  12.   


    大哥,别误人之地啊!正解如果光有SqlCommand就必须手动打开的!!
      

  13.   

    SqlDataAdapter  自己打开。 自己关闭。看看fill方法就知道了。
      

  14.   

    SqlConnection conn = new SqlConnection();//创建Connection对象,有这句就可以了啦!
      

  15.   

    SqlDataAdapter 会自动打开和关闭
      

  16.   

       SqlDataAdapter da = new SqlDataAdapter();//创建DataAdapter对象
    这一句就打开了