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

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


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

...全文
68 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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+'''

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧