使用F#从头开始构建DataTable

时间:2012-08-23 10:10:46

标签: f#

是否可以使用F#

从头开始构建DataTable对象

我写了这段代码

module DataHelper
open System
open System.Data
open System.Data.SqlClient

let addDataRow (dt : DataTable) kerberos =
    let dr = dt.NewRow()
    dr["Kerberos"] = kerberos
    dt.Rows.Add(dr)

let Func userList : string seq = 
    let dt : DataTable = new DataTable("UserNameListType")
    let dc : DataColumn = new DataColumn("Kerberos")
    dt.Columns.Add(dc)
    Seq.iter (fun user -> addDataRow dt user) userList
    dt

但这有太多错误

  1. VS.NET似乎不了解DataTable,DataRow类只显示了一个“注意”为intellisense。
  2. 很难使用F#中的Rows,Columns集合对象,因为这些方法都不起作用(在C#中很容易使用)。

1 个答案:

答案 0 :(得分:5)

如果您在新项目中执行此操作,则需要添加对System.Data.dllSystem.Xml.dll的引用。之后,Visual Studio应该识别类型。您可以通过右键单击项目中的“参考”并选择“添加参考”来完成此操作。

除此之外,您的代码中存在两个小错误。作业应写为(注意[之前有一个点,而运算符为<-而不是=):

dr.["Kerberos"] <- kerberos 

您的Func函数应返回DataTable

let Func userList : DataTable =