none
怎样让所有文本数据显示在一行中 RRS feed

  • 问题

  • 数据集中一个字段的数据一共有12个,如何让着12个数据在一个文本框中全部显示出来?这个我想让它们在一个单元格中显示 也就是显示成

    菏泽、青岛、淄博·····  请指点一下,谢谢

    2011年12月8日 9:45

答案

  • 可以在读取数据的时候将这些数据显示为一个字段内,参考这个文章:

    http://oswica.blog.51cto.com/756561/495085


    family as water
    2011年12月8日 12:38
  • 可以写一个函数去处理

    Create table tb_demo
    (
     id int identity primary key,
     title nvarchar(50),
    )
    Go
    
    Insert into tb_demo (title) values (N'菏泽'),(N'青岛')
    ,(N'淄博'),(N'德州'),(N'烟台'),(N'泰安'),(N'临沂'),(N'滨州'),(N'东营') 
    Go
    
    Create function dbo.showCell()
    Returns nvarchar(4000)
    AS
    Begin 
     Declare @title nvarchar(50)
     /*要回传结果的变量*/
     Declare @result nvarchar(4000)=''
     Declare tableCursor cursor
       for Select title from tb_demo Order by id ASC
     
       open tableCursor
       Fetch Next from tableCursor into @title
       while(@@FETCH_STATUS=0)
       Begin
       
        Set @result = @result + @title + '、'
      
        
       Fetch Next from tableCursor into @title
       End
     close tableCursor
     deallocate tableCursor
      
     return @result
    End
    Go
    
     
    Select dbo.showCell() As newTitle
    


    Shadowと愉快なコード達
    2011年12月8日 17:39

全部回复

  • 可以在读取数据的时候将这些数据显示为一个字段内,参考这个文章:

    http://oswica.blog.51cto.com/756561/495085


    family as water
    2011年12月8日 12:38
  • 可以写一个函数去处理

    Create table tb_demo
    (
     id int identity primary key,
     title nvarchar(50),
    )
    Go
    
    Insert into tb_demo (title) values (N'菏泽'),(N'青岛')
    ,(N'淄博'),(N'德州'),(N'烟台'),(N'泰安'),(N'临沂'),(N'滨州'),(N'东营') 
    Go
    
    Create function dbo.showCell()
    Returns nvarchar(4000)
    AS
    Begin 
     Declare @title nvarchar(50)
     /*要回传结果的变量*/
     Declare @result nvarchar(4000)=''
     Declare tableCursor cursor
       for Select title from tb_demo Order by id ASC
     
       open tableCursor
       Fetch Next from tableCursor into @title
       while(@@FETCH_STATUS=0)
       Begin
       
        Set @result = @result + @title + '、'
      
        
       Fetch Next from tableCursor into @title
       End
     close tableCursor
     deallocate tableCursor
      
     return @result
    End
    Go
    
     
    Select dbo.showCell() As newTitle
    


    Shadowと愉快なコード達
    2011年12月8日 17:39
  • 不曉得小弟這篇文章是不是你要的結果,有興趣不妨參考看看。

    http://www.dotblogs.com.tw/terrychuang/archive/2011/04/16/22867.aspx


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年12月8日 23:28
  • 不知道你的数据源是怎样的,不过可以尝试下这样写数据源:

     

    declare @a varchar(1000)
    set @a=''
    select @a=@a+column_name+',' from table 
    select @a title
     

    • 已建议为答案 jeRKer 2012年7月5日 13:51
    2011年12月10日 3:55
  • select column_name+',' from table  for xml path('')
    2012年7月5日 13:52