我的excel表bankid.xls有4栏(序号,姓名,银行卡号,金额)
SQL数据表pay字段为(pay_id,pay_name,finance,..,bank_id),结构跟excel不同.
主键为'pai_id'.pay_id  对应excel的'序号',  pay_name 对应'姓名',  bank_id 对应'银行卡号'
怎样把excel中的'银行卡号'导入并更新到SQL中的'bank_id'?请给详细代码并说明delphi控件的连接属性,谢了!!!
我搜索的相关的问题,但是都实验不成功,经验不足,还请各位大侠帮忙,以便举一反三.

解决方案 »

  1.   

    对不起,刚才有公务耽误了with ADOQuery do
      begin
        Close;
        SQL.Text := 'Insert Into TExcel(FUserID, FUserName) '+
                    'Select FUserID, FUserName '+
                    'From OpenDataSource( '+''''+'Microsoft.Jet.OLEDB.4.0'+''''+', '+
                    ''''+'Data Source="c:\sanmaotuo.xls";User ID=Admin ; Password=; Extended properties=Excel 5.0'+''''+')...Sheet1$';
        ExecSQL;
      end;
      

  2.   

    最好用存储过程:SET ANSI_WARNINGS ONGOSET ANSI_NULLS ONGOCREATE PROCEDURE [ImportFromExcel] ASInsert Into TExcelSelect FUserID, FUserName 
                    From OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
                    'Data Source="c:\sanmaotuo.xls";User ID=Admin ; Password=; Extended properties=Excel 5.0')...Sheet1$
    GO--------------DELPHIwith ADOQuery do
      begin
        Close;
        SQL.Text := 'Exec ImportFromExcel ';
        ExecSQL;
      end;或者ADOStoredProc.ExecProc
      

  3.   

    ADOQuery1.SQL.Add('insert into B(BID,Bcaption,DFF,TF)');
    ADOQuery1.SQL.Add('values('''+uppercase(Trim(MyWorkBook.WorkSheets[1].Cells[i,1]))+''','''+uppercase(Trim(MyWorkBook.WorkSheets[1].Cells[i,2]))+''','''+uppercase(Trim(MyWorkBook.WorkSheets[1].Cells[i,5]))+''',cast('''+uppercase(Trim(MyWorkBook.WorkSheets[1].Cells[i,6]))+''' as int))');
      

  4.   

    to 老冯:
    SQL.Text := 'Insert Into TExcel(FUserID, FUserName) '+
                    'Select FUserID, FUserName '+
                    'From OpenDataSource....
    请问这里的TExcel(FUserID,FUserName)是否对应sql里面的‘表名(字段1,字段2)’?
              'Select FUserID, FUserName'是否对应Excel表的列名(首行)?
      

  5.   

    我按照自己理解的做了修改,总提示:
    Parameter object is improperly defined.Inconsistent or incomplete information was procided.
      

  6.   

    Q:请问这里的TExcel(FUserID,FUserName)是否对应sql里面的‘表名(字段1,字段2)’?
              'Select FUserID, FUserName'是否对应Excel表的列名(首行)?
    A: 对的Q: 我按照自己理解的做了修改,总提示:
      Parameter object is improperly defined.Inconsistent or incomplete information was procided.A: 那你改用存储过程看看