我用  insert into  table  select *  from  '+
         'OpenDataSource(''Microsoft.Jet.OLEDB.4.0'',''Data Source="'+opendialog1.FileName+'";User ID=;Password=;Extended Properties=Excel 8.0;Persist Security Info=False'')...sheet1$' ;
实现excel的数据导入到SQL SERVER里,有一点搞不明白,就是说EXCEL里面的表的字段和SQL SERVER里面表table的字段必须一样才能导入吗?能不能在SQL SERVER里新建一个表导入,具体的语句怎样实现的呢,刚学delphi很多问题都不懂。谢谢各位大虾了

解决方案 »

  1.   

    向你这种写法,字段就必须得一一对应,如果又不一样的字段,你就要指明字段名,比如
    insert into A(a,b,c) select d,e,f from B
      

  2.   

    LZ的问题不是Delphi问题,是SQL不熟练
      

  3.   

    如果想把sheet1全导入到数据库,大可将前面的insert into  table  select *  from 改成select * into  table from 这样就不用提前建好table表,而是在执行时自动就生成了,sheet1的第一行就是table表的列名,sheet1有多少列,table表就生成多少列。