有一个字符串,字符中含有|和#,其中|为列分隔符,#为行分割符,用什么方式可以将这个字符串转化为一个DataSet?
实例:string strBack=“001|张三|28|#002|李四|26#003|赵五|30”

解决方案 »

  1.   

    先用slplit 方法把字符串分开插入到一个表中,然后再把表添加到dataset中
      

  2.   

    string strBack=“001 ¦张三 ¦28 ¦#002 ¦李四 ¦26#003 ¦赵五 ¦30”
    DataSet ds=new DataSet()
    ds.Tables.Add(new System.Data.DataTable("info"));
    ds.Tables [0].Columns .Add (new DataColumn ("id",typeof (string )));
    ds.Tables [0].Columns .Add (new DataColumn ("name",typeof (string )));
    ds.Tables [0].Columns .Add (new DataColumn ("no",typeof (string )));
    string[] Line=strBack.Split('3')
    forearch (string li in Line)
    {
      string[]  column=li.split('¦');
      if(column.Count=3)
      {
        DataRow newRow=ds.Tables [0].NewRow();
        newRow[0]=column[0];
        newRow[1]=column[1];
        newRow[02]=column[2];
        ds.Tables [0].Rows.Add(newRow);
      }
    }
      

  3.   

    string strBack="001 ¦张三 ¦28 ¦#002 ¦李四 ¦26#003 ¦赵五 ¦30";
            DataSet ds=new DataSet();
            ds.Tables.Add(new System.Data.DataTable("info")); 
            ds.Tables [0].Columns .Add (new DataColumn ("id",typeof (string ))); 
            ds.Tables [0].Columns .Add (new DataColumn ("name",typeof (string ))); 
            ds.Tables [0].Columns .Add (new DataColumn ("no",typeof (string ))); 
            string[] Line=strBack.Split('#');
            foreach (string li in Line) 
            { 
              string[]  column=li.Split('¦'); 
              if(column.Length>=3) 
              { 
                DataRow newRow=ds.Tables [0].NewRow(); 
                newRow[0]=column[0]; 
                newRow[1]=column[1]; 
                newRow[2]=column[2]; 
                ds.Tables [0].Rows.Add(newRow); 
              } 
            }
      

  4.   

    string strBack="001 ¦张三 ¦28 ¦#002 ¦李四 ¦26#003 ¦赵五 ¦30";
            DataSet ds=new DataSet();
            ds.Tables.Add(new System.Data.DataTable("info")); 
            string[] Line=strBack.Split('#');
            foreach (string li in Line) 
            { 
              string[]  column=li.Split('¦'); 
              if(column.Length>=3) 
              { 
                 ds.Tables [0].Rows.Add(column) 
              } 
            }
      

  5.   

    string strBack=“001 ¦张三 ¦28 ¦#002 ¦李四 ¦26#003 ¦赵五 ¦30” 
    DataSet ds=new DataSet() 
    ds.Tables.Add(new System.Data.DataTable("info")); 
    ds.Tables [0].Columns .Add (new DataColumn ("id",typeof (string ))); 
    ds.Tables [0].Columns .Add (new DataColumn ("name",typeof (string ))); 
    ds.Tables [0].Columns .Add (new DataColumn ("no",typeof (string ))); 
    string[] Line=strBack.Split( '3 ') 
    forearch (string li in Line) 

      string[]  column=li.split( '¦ '); 
      if(column.Count=3) 
      { 
        DataRow newRow=ds.Tables [0].NewRow(); 
        newRow[0]=column[0]; 
        newRow[1]=column[1]; 
        newRow[02]=column[2]; 
        ds.Tables [0].Rows.Add(newRow); 
      } 

    正解