高手来看一看。

                            
procedure   TForm1.Button1Click(Sender:   TObject);   
  var  
  oe:variant;  
  n:string;  
  j,i:integer;  
  begin  
  oe:=CreateOleObject('Excel.Application');  
  oe.workbooks.open('c:\book.xls');  
  n:='insert   into   a(aa,bb,cc)   values(:a,:b,:c)';  
  try  
    with   Query1   do  
   
    begin  
  DatabaseName:='sun';  
  SQL.Clear;  
  Sql.Add(n);  
  Prepare;  
  while   oe.worksheets['Sheeet1'].cells[j,1].text<>''   do  
  begin  
  for   i:=1   to   3   do  
  begin  
  Params[i-1].Value:=oe.worksheets['Sheet1'].cells[j,i].text;  
  end;  
  ExecSQL;  
  end;  
  showmessage('导入完毕');  
  end;  
   
  except  
  showmessage('数据库错误或有重复编号,请检查');  
  end;  
  end;  
   
   
  执行后提示索引无效。  
  光标停在while   oe.worksheets['Sheeet1'].cells[j,1].text<>''   do语句  
  上为什么呀?怎么办呢?  
  我如何获取book.xls文件中有多少行呀?  
  高手帮忙吧?

查看回复