Skip to content

Instantly share code, notes, and snippets.

@bjartwolf
Created June 24, 2015 13:30
Show Gist options
  • Save bjartwolf/bc3f262a9503a1663405 to your computer and use it in GitHub Desktop.
Save bjartwolf/bc3f262a9503a1663405 to your computer and use it in GitHub Desktop.
open FSharp.Data
[<Literal>]
let connectionString =
@"Data Source=.;Initial Catalog=XXX;Integrated Security=True"
[<EntryPoint>]
let main argv =
let getData pagesize offset =
use cmd = new SqlCommandProvider<"
SELECT STUFF
FROM SOMETABLE
ORDER BY SOMETHING
OFFSET @offset ROWS
FETCH NEXT @pagesize ROWS ONLY
", connectionString>()
cmd.Execute(offset = offset, pagesize = pagesize)
let rec response pagesize offset = seq {
let result = getData pagesize offset |> Seq.toList
let resultLength = (int64)result.Length
yield! result
if (resultLength = pagesize) then
yield! response pagesize (offset + resultLength)
}
response 19L 0L |> Seq.iter (printfn "%A")
let a = response 19L 0L |> Seq.toList
let b = response 1L 0L |> Seq.toList
let c = response 11234231L 0L |> Seq.toList
printfn "Er dette riktig %b " (a = b)
printfn "Er dette riktig %b " (a = c)
System.Console.ReadKey() |> ignore
0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment