扩展 DataSet 的 ToString() 方法

728 篇文章 1 订阅

扩展 DataSet 的 ToString() 方法

 

    为了方便使用 DataSet,需要扩展其 ToString() 方法,但是,我们并不真的覆盖原来的 ToString() 方法。

open System.Xml;;
open System.IO;;
open System.Linq;;
open System.Data;;

type System.Data.DataTable with
    member dt.ToString2() =
        let f0 = seq { for f in dt.Columns do
                        yield f.ColumnName }
                 |> Seq.reduce (fun a b -> a + "," + b)

        let q0 = seq { for r in dt.Select() do
                        let t = r.ItemArray
                                |> Seq.map    ( fun i -> i.ToString()  )
                                |> Seq.reduce ( fun a b -> a + "," + b )
                        yield t
                 }
                 |> String.concat ("\r\n")
        f0 + "\r\n" + q0

type System.Data.DataTableCollection with
    member dtc.ToString2() =
        [ 1..dtc.Count ]
        |> Seq.map(fun i -> dtc.Item(i-1).ToString2() )
        |> String.concat ("\r\n")

type System.Data.DataSet with
    member ds.ToString2() =
        [ ds.Tables ]
        |> Seq.map(fun i -> i.ToString2() )
        |> String.concat ("\r\n")

 

    定义好以后,就可以使用了。

let ds = new DataSet()
ds.ReadXml(@"C:\Users\tmx\Desktop\aaa.xml")
ds.ToString2()
ds.Tables.ToString2()
ds.Tables.[0].ToString2()
ds.Tables.[1].ToString2()
let ds = new DataSet()
ds.ReadXml(@"aaa.xml")
ds.ToString2()
ds.Tables.ToString2()
ds.Tables.[0].ToString2()
ds.Tables.[1].ToString2()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值