要点:构造一条SQL语句字符串,各部分采用单引号括起来,原来单引号的地方变双引号,N表示构造的字符串是nvarchar类型

1、不带参数的写法

如:

select PCDM,PCMC from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=D:\AA\','select * from PC')

使用存储过程:

create   proc p_DBFSelect
@path varchar(2000),
@fname nvarchar(200)
as
declare @sql nvarchar(4000)
set @sql=N'select PCDM,PCMC from openrowset(''MSDASQL'',''Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB='+@path+N''',''select * from '+@fname+N''')'
exec(@sql)
GO

2、带参数的写法

如:

select ZYDM from openrowset('MSDASQL','DDriver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=D:\AA\','select * from T_JHK'where ZYDM=@ZYDH and KLDM=@KLDM

使用存储过程:

create proc p_SelectZYDMByZYDH
@path varchar(2000),
@ZYDH varchar(10),
@KLDM varchar(2)
as
declare @sql nvarchar(1000)
set @sql=N'select ZYDM from openrowset(''MSDASQL'',''Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB='+@path+N''',''select * from T_JHK'') where ZYDH='+@ZYDH+N' and KLDM='+@KLDM
exec(@sql)
GO