求助! 请高手门帮我看看
alter proc [dbo].[GetCp]
@count int,
@uset int,
@oname varchar(50)
as
declare @sql varchar(5000)
if(@count=1)
begin
if(@uset=1)
begin
set @sql='SELECT TOP 10 *FROM tb_CpMain inner join tb_userinfo on tb_userinfo.uid=tb_CpMain.uid ORDER BY oid desc'
end
if(@uset=2)
begin
set @sql='SELECT TOP 10 *FROM tb_CpMain inner join tb_userinfo on tb_userinfo.uid=tb_CpMain.uid where oname='+str(@oname)+'
ORDER BY oid desc'
end
end
else
begin
set @sql='SELECT TOP 10 * FROM tb_CpMain inner join tb_userinfo on tb_userinfo.uid=tb_CpMain.uid
WHERE (oid NOT IN (SELECT TOP '+str((@count-1)*10)+' oid
FROM tb_cpmain inner join tb_userinfo on tb_userinfo.uid=tb_CpMain.uid
ORDER BY oid desc))
ORDER BY oiD desc'
end
exec (@sql)我执行的时候 exec 1,2'中国'
为什么提示一个
服务器: 消息 207,级别 16,状态 3,行 1
列名 ‘中国’ 无效。
解决方案 »
- sql2005与win7
- 一条update语句中更新多个字段,但是字段之前有计算关系,同时更新时注意什么呢?
- 库房用信息化管理了,还存在一个管帐,一人管物的概念吗?
- 建表时日期型的变量,怎么表示?
- select round(5.0/10.2,1) 的值是0.5,为什么select str(round(5.0/10.2,1))+'%'的值是 1%,我怎么才能得到 0.5%
- 读取文本文件!!!请教邹捷大侠!!!!
- 执行数据库函数出现.net framework错误
- 我是个刚接触的新手请帮个忙啊
- 请问:数据表取中文列名有没有什么坏处?
- 请问哪里有SQL Server2000的教程。
- 又来现场问问题,现场得分喽!
- sql 2005 xml 绑定插值的问题。
我知道
我是这样写的。
我觉得因该是
oname='+str(@oname)+'
这里错了。。但是不知道是什么原因错了~
你表里面字段oname是什么类型的?
@count int,
@uset int,
@oname varchar(50)
as
declare @sql varchar(5000)
把红色部分改为 nvarchar(50)试试。
那个str()函数不要加了。
改为:
set @sql='SELECT TOP 10 *FROM tb_CpMain inner join tb_userinfo on tb_userinfo.uid=tb_CpMain.uid where oname='''+@oname+'''
ORDER BY oid desc'
回家看一休去咯。