在学数据库时,遇到一些问题很迷糊:
1、SqlDataAdapter 和 TableAdapter,啥关系?
我的理解是前者是用代码连接数据库时候用的,后者是用连接向导时候自动生成的。相同点:两个都有Fill和Update方法,而且使用起来类似。不同点:SqlDataAdapter可以直接修改SelectCommand.CommandText的值来进行查询的更改,而TableAdapter需要在数据集设计器中进行添加新查询生成一个类似Fillbyxxx的方法,然后调用,不可以直接修改TableAdapter的各种Command.CommandText。
2、DataGridView的DataSource属性,应该是BindingSource还是DataTable?
我的理解是DataSource=DataTable是用代码连接数据库的时候,DataSource=BindingSource 是用连接向导的时候自动生成的,但是我看BindingSource的属性的时候,没发现他在哪儿设置了某一个DataTable啊,比较迷糊。。
不知道我的理解对不对,请大家指正……

解决方案 »

  1.   

    SqlDataAdapter是sql通用的,TableAdapter是专门针对你设计的实体化的程序集
      

  2.   


    后面的应该是Design生成的吧,还有 DGV支持多种数据源,dataTable 和 bindingSource 都可以做为数据源。
      

  3.   

    又遇到一个问题,在Form1上,拖一个DataGridView控件,取名dgv,然后在图形化的数据源设置向导中设置它的数据源。这时候怎么获得在dgv中选中的那一行?
    我在form里都没有办法通过this.dgv访问到datagridview控件