我现在在做在线书店的网站,照书上要把最新前10名的评论标题显示出来,传到数据层的语句如下
strsql="select top 10 bookid,  CommentCaption=UserName+':'+
SUBSTRING(caption,0,10)+'......' from comment ";
它这个显示等于不管显示标题的长度是小于10还是大于是10,后面都有....
我现在想做成判断这个标题的长度,如果是大于10取前10位加....,如果是小于10就没有....
应该怎么做.

解决方案 »

  1.   

    建议查询出完整标题,然后用css控制标题的显示长度,同时提示完整标题。
      

  2.   

    写个长度的判断方法!!!
    public string SubStr(string sString, int nLeng)
        {
            if (sString.Length <= nLeng)
            {
                return sString;
            }
            string sNewStr = sString.Substring(0, nLeng);
            sNewStr = sNewStr + "...";
            return sNewStr;
        }
      

  3.   

    select top 10
      bookid,
      CommentCaption=
        UserName+':'+ 
        CASE WHEN LEN(caption)>10
          THEN SUBSTRING(caption,0,10)+'......'
          ELSE caption
        END
    from comment 
      

  4.   

    多谢高手指点,不过这个SUBSTRING(caption,0,10)要改为SUBSTRING(caption,0,11)它才显示前10位,应该是从0开始算