大家帮我看看:
SQL Server 里 有一个表名 TG_DJ
我用ADOTable连接打开该表,然后保存
ADOTable1.TableName:='TG_DJ';
        ADOTable1.Open;
        ADOTable1.SaveToFile(SaveDialog1.FileName,pfADTG);
        
        以上正常,然后我把该表清空,导入:
        
        ADOTable1.TableName:='TG_DJ';
        ADOTable1.Open;
        ADOTable1.LoadFromFile(OpenDialog1.FileName);
        
        发现有问题,导不进去,我该怎么做?

解决方案 »

  1.   

    这里是adotable的LoadFromFile的源代码;
    procedure TCustomADODataSet.LoadFromFile(const FileName: WideString);
    begin
      Close;
      CommandType := cmdFile;
      LockType := ltBatchOptimistic;
      CommandText := FileName;
      Open;
    end;可以看出table执行LoadFromFile后是关闭连接,重新打开的,而且打开类型是文件类型,所以这个时候table控件不再跟数据库有任何关系,而是一个独立的数据集,所以不能自动更新到数据库,要想更新到数据库只能想别的办法了。
      

  2.   

    //ADOTable1.TableName:='TG_DJ';
    //ADOTable1.Open;
    ADOTable1.Close;
    if OpenDialog1.Execute then
      ADOTable1.LoadFromFile(OpenDialog1.FileName);
    ADOTable1.Open;
      

  3.   

    等一下,LoadFromFile的代码中已经OPEN了,为什么还要再OPEN一次?