标题:[求助]拼接SQL语句问题
只看楼主
爱猪の云
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-11-18
 问题点数:0 回复次数:6 
[求助]拼接SQL语句问题

我要做歌存储过程``代码如下:
CREATE PROCEDURE P_待答问题
@富翁名称 char(16),
@页数 int
as
declare @i int,@str varchar(8000)
set @str='select top 20 发帖ID,悬赏分数,标题,发帖人 as 提问者,发帖时间,回复次数,阅读次数,最后回帖者,最后回帖时间 from Ta_发帖表 where 发帖ID not in (select top '
set @str=@str+ str((@页数-1)*20 ) + ' 发帖ID from Ta_发帖表 where 是否结帖=0 and 发帖人='+''
set @str=@str+ @富翁名称 + 'order by 发帖时间 desc) and 是否结帖=0 and 发帖人='
set @str=@str+ @富翁名称 + 'order by 发帖时间 desc'
print(@str)
GO
/*执行*/
declare @ret int
exec P_待答问题 '成员3','1'
我执行完成的时候是这样的:
select top 20 发帖ID,悬赏分数,标题,发帖人 as 提问者,发帖时间,回复次数,阅读次数,最后回帖者,最后回帖时间 from Ta_发帖表 where 发帖ID not in (select top 0 发帖ID from Ta_发帖表 where 是否结帖=0 and 发帖人=成员3 order by 发帖时间 desc) and 是否结帖=0 and 发帖人=成员3 order by 发帖时间 desc

但是我想要的结果是:
select top 20 发帖ID,悬赏分数,标题,发帖人 as 提问者,发帖时间,回复次数,阅读次数,最后回帖者,最后回帖时间
from Ta_发帖表 where 发帖ID not in (select top 0 发帖ID from Ta_发帖表
where 是否结帖=0 and 发帖人=' 成员3 ' order by 发帖时间 desc) and 是否结帖=0 and 发帖人='成员3 ' order by 发帖时间 desc
就是在后面条件那里``我想要的是:发贴人='成员3'(就是我标有红色的地方不同),那单引号怎么拼接上去的啊...
请大侠帮改下...要怎么拼接才能发那单引号也能出来......我是菜鸟``大家不要笑我......

搜索更多相关主题的帖子: SQL 语句 拼接 
2007-01-23 13:54
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
得分:0 
拿芋头来当学费就行~

你的问题其实就是 在拼sql语句的时候怎么把单引号拼进去! 简单的说 连写2个单引号 对于sql来说当做转义字符解析成单引号了

declare @A varchar(100)
set @A = 'I like '''+' nice girl '+'''very much!'
print @A

结果: I like ' nice girl 'very much!

2007-01-23 14:15
爱猪の云
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-11-18
得分:0 
呵呵```你也知道我们荔浦的芋头出名啊``哈哈...正中个荔浦芋头来拉`````
你这个好像不行啊...
我的那@富翁名称是执行存储过程的时候是用户动态输入的.并不是固定的啊..
你这个好像执行的时候就直接显示是:发帖人='@富翁名称'...并不是:发贴人='成员3'啊 ...
```

2007-01-23 14:41
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
得分:0 
...你把这块代码改成这样不就行了?

set @str=@str+ str((@页数-1)*20 ) + ' 发帖ID from Ta_发帖表 where 是否结帖=0 and 发帖人='''
set @str=@str+ @富翁名称 + ''' order by 发帖时间 desc) and 是否结帖=0 and 发帖人='''
set @str=@str+ @富翁名称 + ''' order by 发帖时间 desc'

2007-01-23 16:52
爱猪の云
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-11-18
得分:0 
呵呵...
谢谢啦......
真是高手.....

2007-01-23 17:00
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
记住,第一个单引号是转义的.

飘过~~
2007-01-23 20:37
爱猪の云
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-11-18
得分:0 
谢谢大家啦```

2007-01-24 08:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-117658-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046120 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved