搞定了
我用的INSERT INTO main2 SELECT * FROM OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=YES;IMEX=1;database=f:\student\manager\excel\2.xls;','select * from [Sheet1$]') as i where not exists(select * from main2 where 学号=i.学号)
我用的INSERT INTO main2 SELECT * FROM OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=YES;IMEX=1;database=f:\student\manager\excel\2.xls;','select * from [Sheet1$]') as i where not exists(select * from main2 where 学号=i.学号)
select * from main2 m
where not exists
(select * from result where 学号=m.学号 and 课程=m.课程)
if @ii=0 then beginINSERT INTO main2 SELECT * FROM OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=YES;IMEX=1;database=f:\student\manager\excel\2.xls;','select * from [Sheet1$]') as i where not exists(select * from main2 where 学号=i.学号)
else
RAISERROR('已经有号了'+@xh)end
感谢hsj20041004(光芒)我用查询分析器,发现有错,
服务器: 消息 156,级别 15,状态 1,行 7
在关键字 'then' 附近有语法错误。
服务器: 消息 156,级别 15,状态 1,行 12
在关键字 'else' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 14
第 14 行: '+' 附近有语法错误。想问一下,返回得错误是以什么形式出现,因为我做的是asp.net,想让他以网页的形式,您这种是什么形式阿。谢谢
if (@ii=0) beginINSERT INTO main2 SELECT * FROM OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=YES;IMEX=1;database=f:\student\manager\excel\2.xls;','select * from [Sheet1$]') as i where not exists(select * from main2 where 学号=i.学号)
else
RAISERROR('已经有号了'+@xh)end
if (@ii=0) INSERT INTO main2 SELECT * FROM OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=YES;IMEX=1;database=f:\student\manager\excel\2.xls;','select * from [Sheet1$]') as i where not exists(select * from main2 where 学号=i.学号)
else
RAISERROR('已经有号了'+@xh)
然后你在程序中捕捉错误就可以了