我用这种方式切换读取数据然后显示在DataGrid上
DataSet.Close;
DataSet.SQL.Text:='Select * from KHB';//可以根据需要查找不同数据表的信息
DataSet.Open;点击不同的按钮进行切换,在不动DataGrid的时候可以自由切换,但是点击了DataGrid的列头的一个字段(任何一个)后,再去切换查看别的信息就出错了,错误是  找不到'×××'字段。有谁遇到过这种问题吗?请教了。

解决方案 »

  1.   

    sql语句变化了,导致数据集中字段变化,访问不存在的字段时出错,对不同的操作,可能需要重新获取数据集
      

  2.   

    datagrid上不要有任何的column就可以了.把之前定义的删除掉.或用datagrid.columns.clear;
      

  3.   

    DataGrid.columns.Clear;
    DataSet.Close; 
    DataSet.SQL.Text:='Select * from KHB';//可以根据需要查找不同数据表的信息 
    DataSet.Open; 
      

  4.   

    同意楼上的  数据库调用数据的基本思路 先清空、关闭、加载、打开   无论是ADO还是CDS  基础的思路要清晰
      

  5.   

    除了用DataGrid.Columns.clear这个方法清除还有别的方法吗?我这里用不了这个方法啊谁懂得再给个别的方法..
      

  6.   

    用datagrid先.clear再close....
      

  7.   

    这个方法好,如要改变DataGrid显示的列名,可以
    这样: DataSet.fieldByName('fieldName').DisplayName := '你想显示的列名';