我很惭愧,问这么简单的问题!!!!!!!!!!!!!!!!!

txgaozhao 2007-09-14 09:27:00
CREATE PROCEDURE BuyMessage
(
@recordid INT,
@buyid INT,
@sorb INT,
@sellid INT OUTPUT,
@result INT OUT
)
AS
if @sorb=0
SELECT @sellid=BuyId
FROM BuyM_View
WHERE RecordId=@recordid AND SellId=@buyid
else if @sorb=1
SELECT @sellid=SellId
FROM SellM_View
WHERE RecordId=@recordid AND BuyId=@buyid

IF @@ROWCOUNT >= 1
SELECT @result=1
ELSE
SELECT @result=0
GO
====================================================
以上存储过程的IF @@ROWCOUNT >= 1,我想用他来检查上面的语句是否执行过,执行过则令@result=1,否则@result=0.但是不知道怎么的每次我测试他都是@result=0.不知道何故?是不是IF @@ROWCOUNT >= 1的问题呢?注意上面用到了if else if的判断
...全文
459 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
crossrowman 2007-09-14
  • 打赏
  • 举报
回复

IF @sellid is null --@@ROWCOUNT >= 1
SELECT @result=0
ELSE
SELECT @result=1
txgaozhao 2007-09-14
  • 打赏
  • 举报
回复
也可以这样啊,两句合成一句:
SELECT @sellid=SellId,@iCount=count(*) FROM SellM_View WHERE RecordId=@recordid AND BuyId=@buyid
===========================
这个方法报错了
服务器: 消息 8120,级别 16,状态 1,过程 BuyMessage,行 26
选择列表中的列 'BuyM_View.GaoZhaoName' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
JYYCOM 2007-09-14
  • 打赏
  • 举报
回复
看了楼主的问题,我更惭愧。自愧不如。
楼主,请教两个问题,@@ROWCOUNT是不是返回当前所指表中的行数?
为什么在参数设置中第一个是OUTPUT来表示,最后一个参数用的却是OUT?
谢谢!
wyc_xiaoben 2007-09-14
  • 打赏
  • 举报
回复
学习 JF
wangkun9999 2007-09-14
  • 打赏
  • 举报
回复
也可以这样啊,两句合成一句:
SELECT @sellid=SellId,@iCount=count(*) FROM SellM_View WHERE RecordId=@recordid AND BuyId=@buyid
txgaozhao 2007-09-14
  • 打赏
  • 举报
回复
begin
set @iCount =(SELECT count(*) FROM BuyM_View WHERE RecordId=@recordid AND BuyId=@buyid )
SELECT @sellid=SellId FROM SellM_View WHERE RecordId=@recordid AND BuyId=@buyid
end
===========================
格式一定要这样子写的吗?
可以这样子写吗?
set @iCount =(SELECT @sellid=SellId FROM SellM_View WHERE RecordId=@recordid AND BuyId=@buyid)
txgaozhao 2007-09-14
  • 打赏
  • 举报
回复
不会吧,这么复杂的啊!!
shun1984a 2007-09-14
  • 打赏
  • 举报
回复
mark
wangkun9999 2007-09-14
  • 打赏
  • 举报
回复
declare @iCount int
if @sorb=0
begin
set @iCount =(SELECT count(*) FROM BuyM_View WHERE RecordId=@recordid AND SellId=@buyid )
SELECT @sellid=BuyId FROM BuyM_View WHERE RecordId=@recordid AND SellId=@buyid
end
else if @sorb=1
begin
set @iCount =(SELECT count(*) FROM BuyM_View WHERE RecordId=@recordid AND BuyId=@buyid )

SELECT @sellid=SellId FROM SellM_View WHERE RecordId=@recordid AND BuyId=@buyid
end

IF @iCount >= 1
SELECT @result=1
ELSE
SELECT @result=0
GO
NekChan 2007-09-14
  • 打赏
  • 举报
回复
将 @sellid 给一个初始值 -99999(建议,可以采用一个代表空的数据)
然后检测这个数,就知道前面的 select 是否有执行结果了。
NekChan 2007-09-14
  • 打赏
  • 举报
回复
SELECT 对于 @@ROWCOUNT 是没有影响的,所有的 SELECT 执行后的 @@ROWCOUNT 都是 0.
wangkun9999 2007-09-14
  • 打赏
  • 举报
回复
你要求行数的话,行这样写:
declare @iCount int
set @iCount =(SELECT count(*) FROM BuyM_View WHERE RecordId=@recordid AND SellId=@buyid )
freeboy827 2007-09-14
  • 打赏
  • 举报
回复
是不是返回的查询没有数据
txgaozhao 2007-09-14
  • 打赏
  • 举报
回复
wangkun9999(蜘蛛+Lucene.net构建搜索引擎)
========================================
大哥如果我要知道我是否select到东西的话,那该如何判断呢?
yangjia21_2007 2007-09-14
  • 打赏
  • 举报
回复
wangkun9999(蜘蛛+Lucene.net构建搜索引擎)
这个才对
yangjia21_2007 2007-09-14
  • 打赏
  • 举报
回复
sqlserver 里 不是用=么 不是==吧
txgaozhao 2007-09-14
  • 打赏
  • 举报
回复
两位大哥,我这个是存储过程,存储过程的判断都是用=号的,而不是==
wangkun9999 2007-09-14
  • 打赏
  • 举报
回复
@@ROWCOUNT是返回上一次更改的行数,对select语不起作用的.
下面是@@ROWCOUNT有语法:

@@ROWCOUNT
返回受上一语句影响的行数。

语法
@@ROWCOUNT

返回类型
integer

注释
任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。

示例
下面的示例执行 UPDATE 语句并用 @@ROWCOUNT 来检测是否有发生更改的行。

UPDATE authors SET au_lname = 'Jones'
WHERE au_id = '999-888-7777'
IF @@ROWCOUNT = 0
print 'Warning: No rows were updated'


jess_lv 2007-09-14
  • 打赏
  • 举报
回复
条件判时,要用==号而不是=号
jess_lv 2007-09-14
  • 打赏
  • 举报
回复
if @sorb=0
SELECT @sellid=BuyId
FROM BuyM_View
WHERE RecordId=@recordid AND SellId=@buyid
else if @sorb=1
SELECT @sellid=SellId
FROM SellM_View
WHERE RecordId=@recordid AND BuyId=@buyid


为个地方有问题!!是==而不是=
加载更多回复(1)
程序介绍: ◎前言:这是应一个MM的要求,搞了一个类似于知识库的系统,为了方便她快速搜索到需要的文章和答案,因此就做成了现在这样的搜索为主的cms,里面存放了大约3000篇以上的知识量,涉及到3大类10几个层面,涵盖了衣食住行、生活娱乐、电脑知识、动植物等,甚至是三国演义和西游记全篇,这个文件这么大,就是因为数据库内容太多了!不过这样大家一下下来就能用了! ◎特点:系统用了智能拆分关键字查询和分类别查询,主要就用到3个文件,包括一个错误提示页!后台可要可不要,自己掂量掂量看看是否需要就是! ◎设计:界面比较漂亮,完全是down 别人的,因为过年了,设计师都忙着回家,没空帮我,不过的确很不错,希望你会和我一样喜欢!logo和head 都留空,你可以自己进images修改它,想取什么名称就取什么名称, ◎安全:因为我也要回家过年,而且这本身就只针对MM个人电脑使用,本人没怎么认真对待,(惭愧~~~)但对于普通的菜鸟,应该是没的,如果你是入侵高手,建议自己在检测和修缮下,如果可以,到我们的论坛发表下! ◎其他:后台可以设置这个站点的名称和网站开关,也可以屏蔽指定的IP访,由于我是拷贝CMS的config,因为没有删除其他的内容,(再次惭愧~~,)貌似没什么影响!如果你需要本地测试,建议把数据库备份,然后删除2500篇内容,不然会影响你测试速度,尤其是服务器配置不好的同志! ◎最后:本程序是小治技术社区的坏孩子作品,感谢社区的编程高手对本人给与技术上的指点!发布此版本旨在与众网友交流学习,整理过程中较为仓促,难免有疏漏,请大家提出指正。
============================== Copyright (C) 2003-2008 Script Written by 坏孩子 程序名称: 百科知识搜索系统 Ver 1.0 BETA 版 软件类别: ASP源码 / 搜索CMS 软件语言: 简体中文 授权方式: 免费版 系统平台: ASP+Access 程序下载: http://www.baidu.com.cn/s?wd=%B0%D9%BF%C6%D6%AA%CA%B6%CB%D1%CB%F7%CF%B5%CD%B3 官方网址: http://qbar.qq.com/ah4m5a7z/ (QQ论坛) 程序开发: 小治技术 研发中心 EMAIL:xiaovshzi@126.com ============================== 小治技术QQ群:9575165 作者QQ:270612779 ============================== 默认用户:admin 密码:admin(放到网上,建议更改) 数据库链接文件:inc/mdb.asp(第一次使用请设置) 数据库文件:@@3$/bkss.mdb(放到网上,建议更改) 有些功能还没实现 代码也没有优化~~测试用的版本~~ 先放出来 大家自己研究玩吧~~等我自己把组织论坛的搞完了就开始写BETA 2版(用大后台支持) 有人也我是否可以加了采集的功能,可恨本人才疏学浅,无法满足,希望有高手不惜赐教~~~ 界面版权:www.openv.com ============================== 程序介绍: ◎前言:这是应一个MM的要求,搞了一个类似于知识库的系统,为了方便她快速搜索到需要的文章和答案,因此就做成了现在这样的搜索为主的cms,里面存放了大约3000篇以上的知识量,涉及到3大类10几个层面,涵盖了衣食住行、生活娱乐、电脑知识、动植物等,甚至是三国演义和西游记全篇,这个文件这么大,就是因为数据库内容太多了!不过这样大家一下下来就能用了! ◎特点:系统用了智能拆分关键字查询和分类别查询,主要就用到3个文件,包括一个错误提示页!后台可要可不要,自己掂量掂量看看是否需要就是! ◎设计:界面比较漂亮,完全是down 别人的,因为过年了,设计师都忙着回家,没空帮我,不过的确很不错,希望你会和我一样喜欢!logo和head 都留空,你可以自己进images修改它,想取什么名称就取什么名称, ◎安全:因为我也要回家过年,而且这本身就只针对MM个人电脑使用,本人没怎么认真对待,(惭愧~~~)但对于普通的菜鸟,应该是没的,如果你是入侵高手,建议自己在检测和修缮下,如果可以,到我们的论坛发表下! ◎其他:后台可以设置这个站点的名称和网站开关,也可以屏蔽指定的IP访,由于我是拷贝CMS的config,因为没有删除其他的内容,(再次惭愧~~,)貌似没什么影响!如果你需要本地测试,建议把数据库备份,然后删除2500篇内容,不然会影响你测试速度,尤其是服务器配置不好的同志! ◎最后:本程序是小治技术社区的坏孩子作品,感谢社区的编程高手对本人给与技术上的指点!发布此版本旨在与众网友交流学习,整理过程中较为仓促,难免有疏漏,请大家提出指正。 ============================== -小治技术QQ群:9575165

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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