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

扩张 DataSet 的 ToString() 方法

2013-03-16 
扩展 DataSet 的 ToString() 方法扩展 DataSet 的 ToString() 方法为了方便使用 DataSet,需要扩展其 ToStr

扩展 DataSet 的 ToString() 方法

扩展 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()

 

热点排行