繁体   English   中英

需要解释来自Expert F#第15章的这个F#代码:处理数据

[英]need explanation for this F# code from Expert F# chapter 15: working with data

这是我从专家F#第15章得到的一些代码。

let dataAdapter = new SqlDataAdapter()
let buildDataSet conn queryString =
    dataAdapter.SelectCommand <- new SqlCommand(queryString,conn)
    let dataSet = new DataSet()
    let _ = new SqlCommandBuilder(dataAdapter)
    dataAdapter.Fill(dataSet) |> ignore
    dataSet

let dataSet = 
    buildDataSet conn "SELECT * FROM Employees"

如果我要删除数据或插入数据我应该创建一个新的数据集?

使用DataSet处理数据的想法是DataSet表示数据库某些部分的本地内存中副本。 要修改数据库,您可以修改存储在DataSet的数据(在内存中),然后使用SqlDataAdapter将更改提交到数据库。

您发布的代码段使用Fill方法将数据从数据库复制到DataSet 使用Update方法提交从内存到数据库的更改(另一个方向)。

您可以在此MSDN文章中找到一些C#示例。 将它们翻译成F#应该不难。

如果您不需要将数据保存在内存中,则可能更容易直接使用SqlCommand 使用此类型,您可以创建SQL命令并立即在SQL数据库上执行它(不将任何数据复制到内存中)。 你可以在我最近的博客文章中找到一些例子。 该博客显示了如何使用ExecuteReader方法读取数据,但您可以使用ExecuteNonQuery方法只运行命令(不读取SQL服务器的任何结果)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM