这是我从专家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"
如果我要删除数据或插入数据,我应该创建一个新的数据集吗?
答案 0 :(得分:2)
使用DataSet
处理数据的想法是DataSet
表示数据库某些部分的本地内存中副本。要修改数据库,您可以修改存储在DataSet
(内存中)中的数据,然后使用SqlDataAdapter
将更改提交到数据库。
您发布的代码段使用Fill
方法将数据从数据库复制到DataSet
。使用Update
方法将更改从内存提交到数据库(另一个方向)。
您可以在this MSDN article中找到一些C#示例。将它们翻译成F#应该不难。
如果您不需要将数据保存在内存中,则可能更容易直接使用SqlCommand
。使用此类型,您可以创建SQL命令并立即在SQL数据库上执行它(不将任何数据复制到内存中)。您可以在recent blog post中找到一些示例。该博客显示了如何使用ExecuteReader
方法读取数据,但您可以使用ExecuteNonQuery
方法只运行命令(不读取SQL服务器的任何结果)。