在哪里加密码?
      一个ADOConnection控件,专门用来连接Excel,一个OpenDialog1,用来选择你所需要的Excel表,两个ADOQuery,一个DBGrid,一个DataSource,     ADOQuery1连ADOConnection,DataSource连ADOQuery,DBGrid连DataSource  ADOQuery2连接SQL   Server   
    
   var   
    dbname:string;   
    
  begin   
    
  if   OpenDialog1.Execute   then   
  edit1.Text:=OpenDialog1.FileName;//这是所要操作的EXCEL文件名   
    
  if   trim(edit1.Text)<>''   then   
  begin   
  //取得无扩展名文件名,打开Excel时用   
      dbname   :=   LeftStr(ExtractFileName(trim(edit1.Text)),pos('.',ExtractFileName(trim(edit1.Text)))-1);   
    
  ADOConnection1.Connected:=false;   
  ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data   Source='+trim(edit1.Text)+';Extended   Properties=EXCEL   8.0;Persist   Security   Info=False';   
  ADOConnection1.Connected:=true;   
    
  with   ADOQuery1   do   
            begin   
                Close;   
                SQL.Clear;   
                SQL.Add('select   *   from   ['+dbname+'$]');   
                Open;   
            end;   
  end;   
    
  通过上在,你已于你所需要的Execl表连接起来,既已将你所需要的Execl表置于DBGrid;   
  接下来,你只需要将DBGrid里的数据一条条导入SQL   Server   
    
  var   
      a_filedNo,a_recno,j   :integer;   
      sqlstr,sqlstr1:string;   
    
  begin   
    
  a_filedNo   :=ADOQuery1.FieldCount;//每一行的列数   
    
  try   
  a_recno   :=   1;   
    
  ADOQuery1.First;   
  while   not   ADOQuery1.Eof   do   
              begin   
                      for   j   :=1   to   a_filedNo   do     //转化一个记录,你可以在此进行修改或什么的   
                              begin   
                                    sqlstr1:=sqlstr1+''''+ADOQuery1.Fields[j-1].AsString+''''+',';   
                              end;   
                              sqlstr:='insert   into   你要导入的表名   values('+sqlstr1+')';   
    
                              with   ADOQuery2   do   
                                        begin   
                                            close;   
                                            SQL.Clear;   
                                            SQL.Add(sqlstr);   
                                            ExecSQL;   
                                        end;   
    
                              ADOQuery1.Next;   ;   
                              a_recno   :=   a_recno   +   1;   
                              sqlstr1:='';   
                              sqlstr:='';   
              end;   
            application.MessageBox('数据导入成功!','系统提示',MB_Ok+MB_IconInformation+MB_ApplModal);   
  except   
      application.MessageBox('打开Excel文件失败!','系统提示',mb_ok   or   mb_iconstop);   
  end;   

解决方案 »

  1.   

    Jet OLEDB:Database Password=XXX
      

  2.   

    回:hudded
       你的方法我试了下,提示不能解密文件!!请赐教~
      

  3.   

    OpenDialog1.FileName:='';
      OpenDialog1.Execute;
       if OpenDialog1.FileName=''  then
        begin
           Exit;
        end;
      TRY
        with self.ADOConnection1 do
        begin
          Close;
          ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data       Source='''+OpenDialog1.FileName+''';Extended Properties=Excel 8.0;Persist Security Info=False;Jet OLEDB:Database Password=123';
          open;
        end;
      EXCEPT
        Application.MessageBox('连接文件出错!', '提示', MB_OK +MB_ICONINFORMATION + MB_DEFBUTTON3);
        exit;
      END;
    提示不能解密文件!!
      

  4.   

    ADOConnection1.LoginPrompt :=False;你要的是这个东东,,,哈哈,,