excel文件Update sql中的数据

snaypa 2009-01-17 03:13:15
在数据库中插入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插入。
改怎么写代码?
...全文
465 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yingzhilian2008 2009-01-20
  • 打赏
  • 举报
回复
我的也会出现七楼的错误 怎么解决!
-狙击手- 2009-01-17
  • 打赏
  • 举报
回复
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.工号=工号)
liangCK 2009-01-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 liangCK 的回复:]
SQL codeUPDATE 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
[/Quote]

偶测试了.也没任何错误.
snaypa 2009-01-17
  • 打赏
  • 举报
回复
声明
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$])
方法使用无错误
snaypa 2009-01-17
  • 打赏
  • 举报
回复
少写一个)
,加上后错误
消息 7399,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 报错。提供程序未给出有关错误的任何信息。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 的数据源对象。
snaypa 2009-01-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 happyflystone 的回复:]
SQL codeupdate 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.工号
[/Quote]

aa.工号 附件有语法错误
liangCK 2009-01-17
  • 打赏
  • 举报
回复
把$号去掉看看..
-狙击手- 2009-01-17
  • 打赏
  • 举报
回复
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.工号
snaypa 2009-01-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 liangCK 的回复:]
SQL codeupdate Hardware
set 会议室预约系统='是'
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=d:\信息系统帐户管理台帐.xls',[会议室预约$])as aa
where hardware.工号 =aa.工号
[/Quote]
错误依旧…
liangCK 2009-01-17
  • 打赏
  • 举报
回复
update Hardware 
set 会议室预约系统='是'
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=d:\信息系统帐户管理台帐.xls',[会议室预约$])as aa
where hardware.工号 =aa.工号
snaypa 2009-01-17
  • 打赏
  • 举报
回复
我用的是下面代码,但是会出错

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" 的数据源对象。
-狙击手- 2009-01-17
  • 打赏
  • 举报
回复
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
liangCK 2009-01-17
  • 打赏
  • 举报
回复
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
wsh236 2009-01-17
  • 打赏
  • 举报
回复
kankan
-狙击手- 2009-01-17
  • 打赏
  • 举报
回复
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.条件
liangCK 2009-01-17
  • 打赏
  • 举报
回复
不是一样吗?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧