首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

用Linq查询的结果,怎样赋给一字符串数组或字符串变量?该如何解决

2012-01-24 
用Linq查询的结果,怎样赋给一字符串数组或字符串变量?在数据库 IP_Table表 的 IP_LIST字段 存有一字符串:1

用Linq查询的结果,怎样赋给一字符串数组或字符串变量?
在数据库 IP_Table表 的 IP_LIST字段 存有一字符串:172.168.1.1|172.168.1.2|172.168.1.3|
用LINQ查询如下 :  

C# code
var result = from ip in lqDB.IP_Table                            where ID == '1' (查询某一条记录)                            select new                            (                               IPA = ip.IP_LIST                             );

怎样实现把查询结果赋给一字符串数组或字符串也可以。
这种方法提示 “无效参数”:
C# code
string sql =string.Join("|",result.ToArray());

Join 的第二个参数是个字符串数组,而此处的 result 是个结果集。

不知道怎样实现这样的功能,非常感谢!

[解决办法]
C# code
public string[] arrs(string str){    return str.Split('|');}var result = from ip in lqDB.IP_Table                            where ID == '1' (查询某一条记录)                            select new                            (                               IPA = arrs(ip.IP_LIST)                             );
[解决办法]
如果能保证每次查询最多只有一条匹配的记录,请试试下面这样的:
C# code
string[] result = ip.lqDB.IP_Table        .Where(w=>w.ID == '1')        .Select(r=>r.IP_LIST)        .SingleOrDefault()        .Split("|");
[解决办法]
你的这个问题我刻好像已经回答过你了吧

var result = from ip in lqDB.IP_Table
where ID == '1' (查询某一条记录)
select ip.IP_LIST;

此处不要用匿名类

[解决办法]
C# code
string v = (from u in db.Orders                        select u.ShipName).FirstOrDefault();               string[] my=v.Split('|');               foreach (var vv in my)                   Console.WriteLine(vv);               /*输出                * 172.168.1.1                * 172.168.1.2                * 172.168.1.3|                */ 

热点排行