FILENAME:= OpenDialog1.FileName;
  AssignFile(FROMF,FILENAME);
  Rewrite(FROMF,1);
  query1.open;
  if not (Query1.State in [dsInsert, dsEdit]) then   
  Query1.Insert;
  query1A.Value :='123';
***  Query1B.LoadFromFile(FILENAME);
  Query1.Post;当执行到Query1B.LoadFromFile(FILENAME);
时报错:CAN NOT OPEN FILE ‘文件名’。

解决方案 »

  1.   

    你的文件是否是在ADOQUERY中SAVE的?
      

  2.   

    AssignFile(FROMF,FILENAME);已经指定了文件,
    应释放后,其它进程才能访问该文件
      

  3.   

    真不明白你想做什么;
    这个文件必须是ADOQUERY。SAVETOFILE()的文件才可以打开;
    Query1B.LoadFromFile(FILENAME);不需要文件打开的操作;
     AssignFile(FROMF,FILENAME);
      Rewrite(FROMF,1);
    上面可以去掉;
      

  4.   

    谢谢各位,我这是傻了.但现在又有问题了
      opendialog1.Execute ;
      FILENAME:= OpenDialog1.FileName;
      query1.open;
      if not (Query1.State in [dsInsert, dsEdit]) then Query1.Insert;
      query1A.Value :='123';
    ****  Query1B.LoadFromFile(FILENAME);
      Query1.Post;报错说:FIELD 'B' CAN NOT BE MODIFIED.数据库是ORACLE,字段 'B'类型为 BFILE.
      

  5.   

    FILENAME:= OpenDialog1.FileName;
      AssignFile(FROMF,FILENAME);
      Rewrite(FROMF,1);
      CloseFile(FROMF); //加上这行就行了
      query1.open;
      if not (Query1.State in [dsInsert, dsEdit]) then   
      Query1.Insert;
      query1A.Value :='123';
      Query1B.LoadFromFile(FILENAME);
      Query1.Post;