在数据库中插入Excel的数据可以通过
insert   into   Hardware(gh,xm) 
select   gh,xm 
from   openrowset( 'MICROSOFT.JET.OLEDB.4.0 ', 'EXCEL   5.0;HDR=YES;DATABASE=E:\123.xls', [sheet1$])但是我现在想更新数据库中的其中一部分数据,使用Update更新而不是用Insert插入。
改怎么写代码?

解决方案 »

  1.   

    update a 
    set gh = b.bh,xm = b.xm
    from hardware a
    right join(select  gh,xm 
    from  openrowset( 'MICROSOFT.JET.OLEDB.4.0 ', 'EXCEL  5.0;HDR=YES;DATABASE=E:\123.xls', [sheet1$]) b
    on a.条件=b.条件
      

  2.   

    UPDATE A SET
        empname='小梁'
    FROM OPENROWSET('Microsoft.Jet.OleDb.4.0',
                    'Excel 5.0;HDR=Yes;Database=G:\txt\BOM.xls',
                    [Employees]) AS A
    WHERE empid=2
      

  3.   

    UPDATE A SET
        empname='小P梁'
    FROM OPENROWSET('Microsoft.Jet.OleDb.4.0',
                    'Excel 5.0;HDR=Yes;Database=G:\txt\BOM.xls',
                    [Employees]) AS A
    WHERE empid=2
      

  4.   

    我用的是下面代码,但是会出错update Hardware set 会议室预约系统='是'  
    FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=d:\信息系统帐户管理台帐.xls',会议室预约$)as aa
    where hardware.工号 =aa.工号消息 7399,级别 16,状态 1,第 1 行
    链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 报错。提供程序未给出有关错误的任何信息。
    消息 7303,级别 16,状态 1,第 1 行
    无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 的数据源对象。
      

  5.   

    update Hardware 
        set 会议室预约系统='是'  
    FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=d:\信息系统帐户管理台帐.xls',[会议室预约$])as aa
    where hardware.工号 =aa.工号
      

  6.   

    update a    set 会议室预约系统='是'  
    FROM Hardware a
    ,
     (select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=d:\信息系统帐户管理台帐.xls',[会议室预约$]))as aa
    where a.工号 =aa.工号
      

  7.   

    少写一个)
    ,加上后错误
    消息 7399,级别 16,状态 1,第 1 行 
    链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 报错。提供程序未给出有关错误的任何信息。 
    消息 7303,级别 16,状态 1,第 1 行 
    无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 的数据源对象。
      

  8.   

    声明
    insert  into  Hardware(gh,xm) 
    select  gh,xm 
    from  openrowset( 'MICROSOFT.JET.OLEDB.4.0 ', 'EXCEL  5.0;HDR=YES;DATABASE=E:\123.xls', [sheet1$]) 
    方法使用无错误
      

  9.   

    update a
    set 会议室预约系统='是'
    from  Hardware  a 
    where eixists(select 1 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=d:\信息系统帐户管理台帐.xls',[会议室预约$]) as b
    where a.工号=工号)