string mysql1 = "SELECT * from table_1 where sx='man' ";
            SqlCommand ccmd = new SqlCommand(mysql1, conn);
            SqlDataReader dr1 = ccmd.ExecuteReader();
            if (dr1.Read())
            { hf1.value=dr["phone"].tostring();}
            dr1.Close();  
我想把phone列读出来 每个中间加逗号  比如A,B,C,D,E,F。存在hf1里,这样怎么做呢

解决方案 »

  1.   

    也就是给dr["phone"].tostring()值每个一个字符加一个逗号?
    那就处理一下这个字符串,每取一个字符,然后加一个逗号,构造一个新字符串
      

  2.   


    using System.Text;
    ...
                string mysql1 = "SELECT * from table_1 where sx='man' ";
                SqlCommand ccmd = new SqlCommand(mysql1, conn);
                SqlDataReader dr1 = ccmd.ExecuteReader();
                StringBuilder sb = new StringBuilder();
                while(dr1.Read())
                {
                    sb.Append(dr1["phone"].ToString());
                    sb.Append(",");
                }
                hf1.value = sb.ToString().TrimEnd(',');
                dr1.Close();  
      

  3.   

          string     phone=  cmd.getTable("SELECT * from table_1 where sx='man'");
       string  []  ph=phone.Split(',');
      

  4.   


    3楼taomanman的应该可行
    你如果是不想在代码中遍历,而是直接从sql查询出来一列就是用逗号隔开
    可以搜索下Sql行转列,比较麻烦
      

  5.   


    你的语句中不是已经加了where sx='man' 吗,
    那三楼的还有问题吗?
      

  6.   


    using System;
    .....           string mysql1 = "SELECT * from table_1 where sx='man' ";
                SqlCommand ccmd = new SqlCommand(mysql1, conn);
                SqlDataReader dr1 = ccmd.ExecuteReader();
               string a=string.Empty;
                while(dr1.Read())
                {
                      a+=dr1["phone"].ToString();
                }
               dr1.Close();
      

  7.   

    declare @id nvarchar(100)
    set @id='{ hf1.value=dr["phone"].tostring();}'
    select SUBSTRING (@id,charindex('["',@id)+2,charindex('"]',@id)-charindex('["',@id)-2) 
      

  8.   

    怎么可能?仔细看我代码,除非你用取出来的就一条数据,否则的话,我使用的while来逐条记录的读取然后添加到StringBuiler对象中的,是你还是使用if了吧?仔细看看。