我要将查询出来的一串数据拼成一排,数据与数据之间用空格隔开,然后显示在panel中我应该怎么写呢?
比如:我select city from table where code=1 得出的结果是南京、上海、北京
我怎么把这三个城市拼成一排中间用空格分开,然后显示在panel中

解决方案 »

  1.   

    declare @s varchar(400)
    select @s=isnull(@s+',','')+city from table where code=1
    select @s
      

  2.   

    string im=string.Empty;foreach(DataRow s in dt.Rows)
    {
        im+=s["city"].toString()+",";
    }
    print(im)就这么简单
      

  3.   

    select city from table where code=1这个在数据库方便,在程序中也行DECLARE @CITY VARCHAR(200)
    SELECT @CITY=ISNULL(@CITY+',','')+CITY FROM TABLE WHERE CODE=1
    SELECT @CITY
    在程序中就是循环读取出来值,用一个变量累加
      

  4.   

    CREATE FUNCTION dbo.fc_strSum(@code int)
    RETURNS varchar(8000)
    AS
    BEGIN
        DECLARE @values varchar(8000)
        SET @values = ''
        SELECT @values =case when isnull(city ,'')<>'' then (@values + '、' +isnull(city ,'')) else @values end FROM table WHERE code=@code   
    RETURN STUFF(@values, 1, 1, '')
    END
    goselect * from dbo.fc_strSum(1)
    --南京、上海、北京 
      

  5.   

     DataSet ds = db.ExecuteDataSet(CommandType.Text, "select text  from s_syscode where parentcode='AREA_1'");
    这里我把查出来的数据放在了ds数据集了,然后我要把这些数据拼成一行放入label1中。
    比如:查出来的数据是南京、上海、天津等等
    出来的效果是:南京  上海  天津  
      

  6.   

    foreach DataSet 然后添加空格
      

  7.   

    支持五楼的方法,不建议用存储过程,只不过把五楼的答案中的“,”换成 空格就可以了,然后再加一句
    lalel1.Text=im;
    完成;
      

  8.   

     public string str = "";//公有的全局变量
            DataSet ds = new DataSet();
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                str += ds.Tables[0].Rows[i].ToString()+" ";
            }
     
    然后在panel中<%=str%>