Нужно объяснение этого кода F # из главы 15 Expert F #: работа с данными - PullRequest
0 голосов
/ 27 июня 2011

это какой-то код, который я получил от эксперта 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"

если я хочу удалить данные или вставить данные, я должен сделать новый набор данных?

1 Ответ

2 голосов
/ 27 июня 2011

Идея использования DataSet для работы с данными заключается в том, что DataSet представляет локальную копию в памяти некоторой части базы данных. Чтобы изменить базу данных, вы должны изменить данные, хранящиеся в DataSet (в памяти), а затем отправить изменения в базу данных, используя SqlDataAdapter.

Отправленный вами фрагмент использует метод Fill для копирования данных из базы данных в DataSet. Отправка изменений из памяти в базу данных (в другом направлении) осуществляется с помощью метода Update.

Некоторые примеры C # можно найти в этой статье MSDN . Не должно быть сложно перевести их на F #.

Если вам не нужно хранить данные в памяти, может быть проще использовать SqlCommand напрямую. Используя этот тип, вы можете создать команду SQL и немедленно выполнить ее в базе данных SQL (без копирования каких-либо данных в память). Некоторые примеры вы можете найти в моем недавнем сообщении в блоге . В блоге показано, как читать данные, используя метод ExecuteReader, но вы можете использовать метод ExecuteNonQuery, чтобы просто запустить команду (без чтения результатов с сервера SQL).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...