如何在在程序运行过程中修改TableAdapter的SELECTComm(强类型数据集)

解决方案 »

  1.   

    什么叫运行过程修改?你是说不使用数据集设计器那个Select语句而要手动指定吧?我都是这么用的,数据集里把Adapter那些都删了,光留DataTable。然后更新时只提供SelectCommand就可以。你要查询指定记录也可以指定带有查询条件的语句。
      

  2.   

    谢谢 楼上兄弟 我是说修改TableAdapter 是因为 where 后面的条件 是要能灵活变动 或许要再加条件
    请指点
      

  3.   

    没啥问题滴你因为微软其实做的是个分部类,所以你可以直接另外写个同名类扩展他当然你也可以用继承的方式扩展下面我用继承的方式写一下public class tempAdatper:MSSQLDAL.XXDataTableAdapter
        {
            public XXDataTable GetByIdWhere(string str)
            {
                this.CommandCollection[0].CommandText =你自己的sql语句            this.Adapter.SelectCommand = this.CommandCollection[0];
                XXDataTable dataTable = new XXDataTable();
                this.Adapter.Fill(dataTable);
                return dataTable;           
            }
         
        }
      

  4.   

          public class tempAdatper : ls.NorthwindDataSetTableAdapters 
        {
            public NorthwindDataSet.CustomersDataTable  GetByIdWhere(string str)
            {
                this.CommandCollection[0].CommandText = "你自己的sql语句";
                this.Adapter.SelectCommand = this.CommandCollection[0];
                XXDataTable dataTable = new XXDataTable();
                this.Adapter.Fill(dataTable);
                return dataTable;
            }    }
    楼上兄弟这块麻烦你写的详细点 我这不知道怎么 继承