Как я могу получить целочисленный вывод из sql выполнения с использованием F # - PullRequest
1 голос
/ 30 апреля 2020

Я новичок в F #. Так что я столкнулся с некоторой проблемой в моем проекте.

let getTotalNoOfSmsPerDay (Db cStr) =
    use cmd = new SqlCommandProvider<"select COUNT(id) as NoOfSMS 
                                      from transport.SmsNotification 
                                      where CONVERT(date, CreatedOn) = CONVERT(date, GETDATE())
                                     ",ConnectionString, SingleRow = true>(cStr)
    async {
         let! result = cmd.AsyncExecute()
         return result
     }

Это мой Кодекс. Я просто хочу целое число NoOfSMS . Но это дает мне <Option<int>> Как я могу решить это?

Заранее спасибо

1 Ответ

5 голосов
/ 30 апреля 2020

Option означает, что ничего нельзя вернуть. Это точка, в которой большинство других языков вернет null.

. Есть несколько способов использовать значение внутри Option. Изучите доступные функции.

Часто вы будете делать match в 2 случаях ie. Some значение было возвращено или None.

match result with
| Some v -> v
| None -> 0

Вот несколько ссылок на учебники, которые я написал по темам.

Поток управления
Сопоставление с образцом
Обработка данных отсутствует

...