代码有什么问题??各位帮我看看,谢谢!!

leepoy 2003-05-08 09:38:23
部分代码如下:

declare @sql nvarchar(1000),@lyjhh varchar(40),@mitem varchar(40)
declare @a char(8)
declare @dtsl1 int

set @a = 'day1jhsl' --字段名称
set @lyjhh = '20030507'
set @mitem ='eq2082e6dj'
set @sql=N'select @dtsl = '+ @a +' from g_zpjhb where jhh='+@lyjhh + 'and mitem ='+@mitem

exec sp_executesql @sql,N'@dtsl varchar(2000) output',@dtsl1 output

print @dtsl1


Server: Msg 207, Level 16, State 3, Line -1074283883
Invalid column name 'eq2082e6dj'.

如果我把他改为:

set @sql=N'select @dtsl = '+ @a +' from g_zpjhb where jhh='+@lyjhh


即只带一条件则可以,为什么带两个条件就不行了呢?请教各位带两个条件的时候代码该怎么写??
谢了!

...全文
29 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
leepoy 2003-05-08
谢谢,问题解决!!
回复
CrazyFor 2003-05-08
TRY:

declare @sql nvarchar(1000),@lyjhh varchar(40),@mitem varchar(40)
declare @a char(8)
declare @dtsl1 int

set @a = 'day1jhsl' --字段名称
set @lyjhh = '''20030507'''
set @mitem ='''eq2082e6dj'''
set @sql=N'select @dtsl = '+ @a +' from g_zpjhb where jhh='+@lyjhh + 'and mitem ='+@mitem

exec sp_executesql @sql,N'@dtsl varchar(2000) output',@dtsl1 output

print @dtsl1
回复
magnetmoon 2003-05-08
注意:字符型要加單引號'
set @sql=N'select @dtsl = '+ @a +' from g_zpjhb where jhh='' '+@lyjhh + '''and mitem ='' '+@mitem+' '' '
回复
new_life 2003-05-08
set @sql=N'select @dtsl = '+ @a +' from g_zpjhb where jhh='+@lyjhh + 'and mitem ='+'''+@mitem+'''
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-08 09:38
社区公告
暂无公告