我现在如下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
…… ……应该如何做呀?
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
…… ……应该如何做呀?
貌似“证券名称”是字段名,CODE是值,这应该在客户端啊控制啊,
通过数据库返回表信息,然后在客户端输出
现在要让用户选择具体要查看的字段。所以现在要把sql 语句中的各个字段提取出来。
大家有没有什么好办法.
string[] str1=str.sqit(' ');str1[0]="one";
str1[1]="two";
str1[2]="three";??
楼上有错误。。是Splitstring[] str1=str.Split(' ');
但是用什么符号分割不好弄!!
一个数组中的内容为 as 后面的文字组成,如 证券名称 当前拥股数 可用余额 等等一个数组存放的内容为: code zqname 等等内容
貌似“证券名称”是字段名,CODE是值,这应该在客户端啊控制啊,
通过数据库返回表信息,然后在客户端输出
查出来应该是有记录集的啊。证券代码 证券名称
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我确实也没看明白,不知道理解的对不。呵呵
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);
}
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;