日期:2014-05-17  浏览次数:20388 次

不知哪儿写错了

public DataSet GetMessageInfoById(int id, int num)
         {
             string sqlStr = @"SELECT top @num RestaurantMessage.rmessageId as messageid, messageTime,messageContent,
RestaurantMessage.memberId as memberId,
memberNickName ,
memberHeadPhoto,
RestaurantMessageReply.messageReplyContent as messageReplyContent

FROM 

[RestaurantMessage] left join [Member] on RestaurantMessage.memberid=Member.Memberid 

left join RestaurantMessageReply on RestaurantMessage.rmessageId=RestaurantMessageReply.rmessageId

where [restaurantId]=@id order by RestaurantMessage.[rmessageId] desc";

             SqlParameter[] sqlParas = {
                                           new  SqlParameter("@id",SqlDbType.NVarChar),
                                           new  SqlParameter("@num", SqlDbType.NVarChar)
                                       };
             sqlParas[0].Value = id;
             sqlParas[1].Value = num;

             return DbHelper.Query(sqlStr, sqlParas);

         }

之前没啥问题,我就加了一个参数@num,不知哪儿写错了,取不到值了。

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

这。。。


你试试,加上括号,也就是top 变量,那么必须要加上括号,比如:

declare @num int

set @num = 10

select top @num *
from sys.objects
/*
消息 102,级别 15,状态 1,第