DECLARE @SQL varchar(300),
@Tmp varchar(50)
set @SQL='select @Tmp =' + @Item + '
from tbGemColor_t
where jcbh=''' + @jcbh + ''''
exec sp_executesql @SQL,'@Tmp varchar(50) output',@Tmp output
select @Tmp
@Tmp varchar(50)
set @SQL='select @Tmp =' + @Item + '
from tbGemColor_t
where jcbh=''' + @jcbh + ''''
exec sp_executesql @SQL,'@Tmp varchar(50) output',@Tmp output
select @Tmp
declare @sql nvarchar(200)
declare @Tmp varchar(50)
set @sql=N'select @Tmp='+@Item+' from tbGemColor_t where jcbh=''' + @jcbh + ''' '
exec sp_executesql @sql,N'@Tmp varchar(50) output',@Tmp output
DECLARE @SQL varchar(300),
@Tmp varchar(50)set @SQL='select'+ @Tmp+' =' + @Item + ' from tbGemColor_t where jcbh=''' + @jcbh + ''''
print @SQL
EXEC(@SQL)
set @Return=@Tmp
mschen(发光的星星) ( )存储过程检测成功!执行也没有什么问题,但是怎么返回回了一个NULL值,
我数据库中是用值的
@jcbh varchar(50),
@Value varchar(50),
@Item varchar(50),
@Man varchar(50),
@BModifyOtherValue varchar(10),
@Return varchar(50) output
AS
DECLARE @SQL varchar(300)begin transaction
set @Return='ZOUJY' ----代表正常返回
if @BModifyOtherValue='FALSE' --不能修改其它人员的检测数据的标志
BEGIN
BEGIN
--其它人员检测过的数据,不能进行修改
set @sql=N'select @Tmp='+@Item+' from tbGemColor_t where jcbh=''' + @jcbh + ''''
print @SQL
exec sp_executesql @sql,N'@Tmp varchar(50) output',@Tmp output
--EXEC(@SQL)
if @tmp<>@Man
begin
set @Return=@Tmp
commit transaction
return
end END
END --Update tbGem_T set @Item=@Value where jcbh=@jcbh
set @SQL='Update tbGem_T set ' + @Item + '=''' + @Value + ''' where jcbh=''' + @jcbh +''''
EXEC(@SQL)
IF @@ERROR <> 0
goto ERRHandle
--exec(Update tbGemColor_T set @Item=@Man where jcbh=@jcbh)
set @SQL='Update tbGemColor_T set ' + @Item + '=''' + @Man + ''' where jcbh=''' + @jcbh +''''
EXEC(@SQL)
IF @@ERROR <> 0
goto ERRHandle
commit transaction
return
ERRHandle:
set @Return='SAVEFALSE' ----代表正常返回
rollback transaction
return
GO这是整个存储过程
set @Tmp=@Tmp+ 'select ' + @Item + ' from tbGemColor_t where jcbh=''' + @jcbh + ''''
print @Tmp
EXEC(@Tmp)
set @Return=@Tmp
print @SQL
EXEC(@SQL)
执行发生的错误!服务器: 消息 214,级别 16,状态 2,过程 sp_executesql,行 20
过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型。
过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型。吗?
zlp321002(一江春水向东流) ( )mschen(发光的星星) ( )两位到
http://community.csdn.net/Expert/topic/4446/4446443.xml?temp=.6398432
那里再回一次,
那边也还有三十分
平分给两位