日期:2014-05-17  浏览次数:20803 次

储存过程返回空数据集时,产生错误
HTML code

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14' 

[Microsoft][ODBC SQL Server Driver][SQL Server]'-' 附近有语法错误。 

aaa.asp,行 111


SQL code

 参数@where
储存过程 返回 
set @sql = 'select * from aaa'
if @where != ''
    set @sql = @sql + @where
exec (@sql)
语句大致是这样,以上代码临时粗写!

当 where id = 1
1存在的时候 则不会出现错误,
当 删除id 1
再查询。where id = 1 则 以上错误则出现!


VB code

在rs.open 的时候就出错
第111行代码如下

rs.open sql,conn,0,1



在rs open的时候就会这样!

------解决方案--------------------
并不是返回空记录集时会出错,应是你的sql语句有地方写错了,把你原来整个贴出来
SQL code

create proc test
as
declare @sql varchar(max);
select @sql='select * from aaa where 1=2';
exec(@sql);