首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

实在搞不定,请兄弟们帮小弟我看看这段存储过程

2012-01-23 
实在搞不定,请兄弟们帮我看看这段存储过程CREATEPROCEDUREdbo.AddNewMsg(@AuthorIDint,@ThreadIDint,@MsgC

实在搞不定,请兄弟们帮我看看这段存储过程
CREATE   PROCEDURE   dbo.AddNewMsg
(
@AuthorID   int,
@ThreadID   int,
@MsgContent   ntext,
@Audited   bit,
@IpAddress   nvarchar(24)
)

AS
declare   @MsgLevel   smallint
SELECT   @MsgLevel=MAX(MsgLevel)   FROM   MsgData   WHERE   ThreadID=@ThreadID
IF   (@MsgLevel   IS   NULL)
BEGIN
SET   @MsgLevel=0
END
SET   @MsgLevel   =(1+@MsgLevel)
INSERT   INTO   MsgData(AuthorID,ThreadID,MsgContent,MsgLevel,Audited)VALUES   (@AuthorID,@ThreadID,@MsgContent,@MsgLevel,@Audited)
    IF   @@ROWCOUNT <> 1
BEGIN
    PRINT   'AddNewMsg2   Failed '
    RETURN   0
END
UPDATE   ThreadData   SET   LastReply=GETDATE(),replycount=(1+replycount)   WHERE   ThreadID=@ThreadID
INSERT   INTO   IPData   (ThreadID,   MsgLevel,IpAddress)VALUES(@ThreadID,   @MsgLevel,@IpAddress)
RETURN   @MsgLevel

我自己的机器装的是VS2005+SQL2005,运行正常.
服务器上装的是SQL2000,没法运行,又不知道错在什么地方.请大家指点一下.

[解决办法]
看不出来问题,是数据库表的问题吗?
[解决办法]
存储过程看不出什么问题;
[解决办法]
UP下,先吃饭回来看呵呵
[解决办法]
把你那个存储过程在服务器上调下看看;如果你可以在服务器上进行操作的话~~
[解决办法]
可以在VS里执行一下看看
[解决办法]
CREATE PROCEDURE dbo.AddNewMsg
把上面的dbo去掉

可能MsgData这个表不是用户dbo创建的

MsgLevel赋值是不是可以这样写:

--
select @MsgLevel = isNull(max(MsgLevel),0)+1 FROM MsgData WHERE ThreadID=@ThreadID

热点排行