我想实现这样一样功能;比如一个软件支持多种手机使用, 而这些手机名是不是只能存在同一个数据表上,  比如: 数据库信息是 "诺基亚,三星",如何把这些用逗号隔开的数据分别读出来, 谢谢!使用语言是 asp.net(c#)

解决方案 »

  1.   


     protected void Page_Load(object sender, EventArgs e)
        {
            
            DataTable dt=GetDataTable(searchCondition);
            string response=dt.Rows[0][0].ToString();
            if(response.EndsWith(";"))
            {
             response=response.Substring(0,response.Length-1);
            }
            IList<string> list = new List<string>();
            for (int i = 0; i < response.Split(',').Length; i++)
            {
                list.Add(response.Split(',')[i].ToString());
            }        //list即为所求
            
        }    private string connString = "数据库连接字符串";
        private DataTable GetDataTable(string searchCondition)
        {
            SqlConnection conn = new SqlConnection(connString);
            string query = string.Format(@"select mobileName from table1 where id='{0}'",searchCondition);
            SqlCommand cmd = new SqlCommand(query, conn);
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            try
            {
                conn.Open();
                adapter.Fill(dt);
                return dt;
            }
            catch
            {
                throw;
            }
            finally
            {
                cmd.Dispose();
                conn.Close();
            }
        }
       
      

  2.   

    你存入的时候就用,号隔开
    取的时候split成一个数组就行了
    如:
    string[] arr = str.split(",");
      

  3.   

    1、存在一个数据表上,但为什么要存在同一行同一列呢?可以分开记录
    2、这个设计不仅涉及到品牌,应该还涉及到型号,应该是两个列
    3、假设非要是取出来"诺基亚,三星",如果只涉及判断是否存在的话,可以用String.indexOf(“”)来做,判断是否存在就可以了。
    4、如果要整理成集合的话,可以用String.Split(',');来分割
      

  4.   

    确实用这句就可以了:
    string[] arr = str.split(",");
      

  5.   


        //读取数据库里面的信息
        private string GetInfo()
        {
            SqlConnection conn = new SqlConnection("连接字符串");
            SqlCommand cmd = new SqlCommand("select 手机名 from 表名 ",conn);
            conn.Open();//打开数据库连接 
            string phoneName = (string)cmd.ExecuteScalar();//执行Sql语句返回首行首列
            conn.Close();
            return phoneName;
        }
        //处理信息
        private string[] ProcessRes()
        {
            string Resulet = GetInfo();
            string[] Res = Resulet.Split(',');
            return Res;//这就是最后要的结果
        }
      

  6.   

    星级战士出错了吧split要用char来分割的啊
      

  7.   

    1楼的做法是对的!其实就一个表里面的一个字段就可以了!
    www.12580520.com
    www.0663bx.com
      

  8.   

    --创建一个实现split功能 的函数
    --具体使用 select a from [dbo].[f_split]('aaa,bbb',',')
    Create  function [dbo].[f_split](@SourceSql nvarchar(4000),@StrSeprate varchar(10))
    returns @temp table(a nvarchar(255))
    as 
    begin
    declare @i int
    set @SourceSql=rtrim(ltrim(@SourceSql))
    set @i=charindex(@StrSeprate,@SourceSql)
    while @i>=1
    begin
    insert @temp values(left(@SourceSql,@i-1))
    set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
    set @i=charindex(@StrSeprate,@SourceSql)
    end
    if @SourceSql<>'\'
    insert @temp values(@SourceSql)
    return 
    endgoselect a from [dbo].[f_split](N'诺基亚,三星',',')
    drop function [dbo].[f_split]
    /*a                                                                                                                                                                                                                                                               
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
    诺基亚
    三星(所影响的行数为 2 行)*/