新人求教,怎么把文件路径当做存储过程参数 想把excel导入数据,winform做一个小工具,选择excel文件,怎么把这个文件路径和名字做过程参数存储过程winform,.net 存储过程winform 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接在存储过程中用 VARCHAR类型就可以了吧 。 以VB为例,选择文件用CommonDialog控件,文件路径: CommonDialog.filename属性文件名: CommonDialog.FileTitle属性 create pro daoruasinsert into tb_yuanbiao select *fromopenrowset('microsoft.jet.oledb.4.0','excel 5.0;hdr=yes;database=e:原文件.xls‘,sheet1&)怎么修改啊 用BCP命令,可以放很多参数进去。 create proc daoru@path nvarchar(1000)asbegin declare @sql nvarchar(max) select @sql= 'insert into tb_yuanbiao select *from openrowset(''microsoft.jet.oledb.4.0'',''excel 5.0;hdr=yes;database='+@path+''',sheet1&)' exec(@sql)end 我使用了这个,想把文件路径和文件名都做成参数可以吗?DATEBASE=@path,sheet1$提示不包含表"sheet1$ 指定的EXCEL文件中有sheet1嗎? try this,create proc daoru(@filepath varchar(100), --> 文件路径 @filename varchar(100) --> 文件名)asbegin declare @tsql varchar(6000) select @tsql='insert into tb_yuanbiao select * from ' +' openrowset(''microsoft.jet.oledb.4.0'',''excel 5.0;hdr=yes;database='+@filepath+'\'+@filename+';'' ' +' ,''select * from [sheet1$]'') ' exec(@tsql) end +号语法错误,能不能文件路径和文件名用弄一个参数,我是想用winform直接选取文件执行存储过程 试试这个,调用例子: exec daoru @filepath='D:\ap',@filename='001.xlsx'PS:若仍有问题,将存储过程中的exec(@tsql)改为print @tsql,打印出来看看.create proc daoru(@filepath varchar(100), --> 文件路径 @filename varchar(100) --> 文件名)asbegin declare @tsql varchar(6000) select @tsql='insert into tb_yuanbiao select * from ' +' openrowset(''microsoft.jet.oledb.4.0'',''excel 5.0;hdr=yes;database='+@filepath+'\'+@filename+';'', ' +' ''select * from [sheet1$]'') ' exec(@tsql) end 可以了,谢谢,我需要部分字段查询在导出到新的excel,用bcp?能帮忙写一下吗,万分感谢 bcp导出.参考 http://www.cnblogs.com/xiaogangqq123/archive/2011/09/30/2196727.html 使用表值参数提示数据类型无效错误 sql2000 求累计出现次数 请教多语句合并的问题? 高分求 数据库原理的视频教程 下载。谢谢! 如何设计数据库以实现会员财务流水的正确性 一个SQL语句 本地计算机上的MSSQLSERVER服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的... 请帮写一条SQL语句,能把我的数据修正过来【在线等待】 如何从某一数据库库表中取出10条记录,这10条记录是随机出现的? 如何关闭SqlServer的远程登录啊? 俺只用微软提供的ado控件还能直接访问ms sql server阿 这个语句应该怎么写?
文件路径: CommonDialog.filename属性
文件名: CommonDialog.FileTitle属性
as
insert into tb_yuanbiao select *from
openrowset('microsoft.jet.oledb.4.0','excel 5.0;hdr=yes;database=e:原文件.xls‘,sheet1&)
怎么修改啊
@path nvarchar(1000)
as
begin declare @sql nvarchar(max)
select @sql=
'insert into tb_yuanbiao select *from
openrowset(''microsoft.jet.oledb.4.0'',''excel 5.0;hdr=yes;database='+@path+''',sheet1&)' exec(@sql)
end
(@filepath varchar(100), --> 文件路径
@filename varchar(100) --> 文件名
)
as
begin
declare @tsql varchar(6000)
select @tsql='insert into tb_yuanbiao select * from '
+' openrowset(''microsoft.jet.oledb.4.0'',''excel 5.0;hdr=yes;database='+@filepath+'\'+@filename+';'' '
+' ,''select * from [sheet1$]'') '
exec(@tsql)
end
PS:若仍有问题,将存储过程中的exec(@tsql)改为print @tsql,打印出来看看.create proc daoru
(@filepath varchar(100), --> 文件路径
@filename varchar(100) --> 文件名
)
as
begin
declare @tsql varchar(6000)
select @tsql='insert into tb_yuanbiao select * from '
+' openrowset(''microsoft.jet.oledb.4.0'',''excel 5.0;hdr=yes;database='+@filepath+'\'+@filename+';'', '
+' ''select * from [sheet1$]'') '
exec(@tsql)
end
参考 http://www.cnblogs.com/xiaogangqq123/archive/2011/09/30/2196727.html