我现在如下sql 语句
SELECT code as 证券代码, zqname as 证券名称, gucount as 当前拥股数, kyye as 可用余额, cbj as 成本价, sj as 市价, sz as 市值, ykbl as 盈亏比例, yk as 盈亏, hbdw as 货币单位, jysc as 交易市场, gdzh as 股东帐户 FROM zhengquan我想要将字符串分隔为两个数组,存放形式如下:
证券名称                        code
当前拥股数                      zqname
可用余额                        gucount
……                             ……应该如何做呀?

解决方案 »

  1.   

    这个是显示的问题了吧?
    貌似“证券名称”是字段名,CODE是值,这应该在客户端啊控制啊,
    通过数据库返回表信息,然后在客户端输出
      

  2.   

    SELECT code as 证券代码 code,。。
      

  3.   

    我现在得到了一个sql 语句.
    现在要让用户选择具体要查看的字段。所以现在要把sql 语句中的各个字段提取出来。
    大家有没有什么好办法.
      

  4.   

    如果你查出来的一条信息是这样   "证券名称code"    就可以用正则表达式分割替换      前部分是中文 后部分是英文
      

  5.   

    你把列名提出来放在一个DataRow里不就可以吗?
      

  6.   

    string str="one two three";
    string[] str1=str.sqit(' ');str1[0]="one";
    str1[1]="two";
    str1[2]="three";??
      

  7.   


    楼上有错误。。是Splitstring[] str1=str.Split(' ');
      

  8.   

    用Split可以分割!!
    但是用什么符号分割不好弄!!
      

  9.   

    你要从这句SQL 的string中分离,还是要从 SQL执行的结果中分离?
      

  10.   

    大家可能没明白我的意思.我最后的想得到的结果是得到两个数组。
    一个数组中的内容为 as 后面的文字组成,如  证券名称 当前拥股数  可用余额 等等一个数组存放的内容为: code zqname 等等内容
      

  11.   

    这个是显示的问题了吧? 
    貌似“证券名称”是字段名,CODE是值,这应该在客户端啊控制啊, 
    通过数据库返回表信息,然后在客户端输出
      

  12.   

    帮里举个列子:SELECT code as 证券代码, zqname as 证券名称。
    查出来应该是有记录集的啊。证券代码      证券名称   
    000002        万科       
    000998        隆平高科   
            。
    证券代码   000002    000998     。
    证券名称   万科      隆平高科   。
    (如果是这样,可以用行列转换)

    select sum(case MadeVoucherCode when '''+@MadeNumber+''' then UnitUsed else 0 end),
           sum(case MadeVoucherCode when '''+@MadeNumber+''' then UnitWaste else 0 end)
           from Ht_table我确实也没看明白,不知道理解的对不。呵呵
      

  13.   

    我是单纯想从sql 语句中提取出来字符串,跟操作结果没有关系.
      

  14.   


                string str = "SELECT code as 证券代码, zqname as 证券名称 FROM zhengquan";
                int index = str.IndexOf("FROM");
                str = str.Remove(index).Remove(0, 6);
                string[] arr = str.Split(',');
                ArrayList arrName = new ArrayList();
                ArrayList arrfield = new ArrayList();
                foreach (string s in arr)
                {
                    int i = s.IndexOf("as");
                    string field = s.Substring(0, i).Trim();
                    string name = s.Substring(i + 2).Trim();
                    arrName.Add(name);
                    arrfield.Add(field);
                }
      

  15.   

    GEQITX静海的方法帮我解决了.呵呵,终于有人明白我的意思了.马上结贴.
      

  16.   

                string sql = "SELECT code as 证券代码, zqname as 证券名称, gucount as 当前拥股数, kyye as 可用余额, cbj as 成本价, sj as 市价, sz as 市值, ykbl as 盈亏比例, yk as 盈亏, hbdw as 货币单位, jysc as 交易市场, gdzh as 股东帐户 FROM zhengquan";
                MatchCollection mc1 = Regex.Matches(sql, @"(?<=\s)\w+(?=\sas)");
                MatchCollection mc2 = Regex.Matches(sql, @"(?<=as\s)[\u4e00-\u9fa5]+(?=(\s|,))");
                string[] s1 = new string[mc1.Count], s2 = new string[mc2.Count];
                for (int i = 0; i < mc1.Count; i++)
                {
                    s1[i] = mc1[i].ToString();
                    s2[i] = mc2[i].ToString();
                }
    using System.Text.RegularExpressions;
      

  17.   

    wdgphc 大哥的方法也很好,可惜我没看到您的回答先结贴了,还是要谢谢.下次一定给您加.