好像需要绑定到table吧
返回值是不是要改回DataTablepublic   DataTable RunSqlReturnDataSet(string   Sql) 

解决方案 »

  1.   

    dap.Dispose(); 
    这个不需要,DataAdapter可以自己释放的。1 你应该使用调试逐步执行跟踪看看,
    建议断点设置在这里。
    OleDbDataAdapter   dap=new   OleDbDataAdapter(Sql,this.Conn); 
                            dap.Fill(ds); 2 如果实在找不出原因建议通过datagrid直接绑定数据库。在datagrid右上的快捷菜单中绑定。默认情况可以显示全部数据。如果你还需要实现更多的查询,可以在dataset对象的设计视图中添加Adapter的配置。
      

  2.   

    如果全部数据选出来绑定倒是没问题,就是选"like"这种的SQL语句就没记录,可是在数据库里却能显示出来结果,真是纳闷
      

  3.   

    sql   = "select   *   from   Products   where   PrdName   like   '*0.3* '   order   by   Uptime   desc "; 改为:
    string a = "0.3";
    sql   = "select   *   from   Products   where   PrdName   like   '*”+a+“* '   order   by   Uptime   desc "; 
    试试。
      

  4.   

    this.DataGrid1.DataSource=db.RunSqlReturnDataSet(sql).DefaultView;
      

  5.   

    是要放在dataTable里的
    我是初学 不是很能看懂别人写的风格 但是我帮定的时候都是打开数据库后~
    db.adp.Fill(db.ds,"PrdName")
    this.DataGrid1.DataSource=db.ds.Table["PrdName"];
    this.DataGrid1.DataBind;
    要先把数据放到dataTable里才能绑定到dataGrid1,dpdownlist....里
      

  6.   

    ds.Table[0] 先看看这个table有数据没。有的话。
    this.DataGrid1.DataSource=db.ds.Table[0]; 
    this.DataGrid1.DataBind();
    肯定应该没啥问题了。
      

  7.   

    DataSource 可以是DataSet或支持IList接口的东东如果使用DataSet做为DataSource,请设置DataMember属性为需要显示的DataTable名称
      

  8.   

    如果以上的方法都不行的话,你就换个思路.
    也许是你的DataGrid1设置有问题.
      

  9.   

    sql ="select * from Products where PrdName like '%0.3%'  order by Uptime desc";这样就可以了,不知道为什么,是不是.NET编译的问题而不认"*"号?可是"*"号在ACCESS里却是通配符啊
      

  10.   

    自己监视一下看看 dataset 中是不是有数据.没有就是sql的问题吧