Я просмотрел этот сообщение SO и подобные статьи. У меня гораздо более простая проблема: получить результат select count(*)
.
Я отслеживаю имена файлов и даты, сохраняя их в базе данных MS Access. Я могу узнать, добавил ли я уже имя файла и дату в базу данных, выполнив select count(*)
в базе данных следующим образом:
let query = "select count(*) from ReportProcessedStatus
where ReportDate = #" + report_date + "#
and ReportFileName = '" + fn + "'"
Мой cmd.ExecuteReader ()
преуспевает, но мне трудно понять, как получить значение счетчика из считывателя.
let reg_fnam_template = "arrgster*"
let ADOCon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=.\Munis_To_InvoiceCloud.mdb")
ADOCon.Open ()
let dir_list = Directory.GetFiles(spool_dir, reg_fnam_template)
for fn in dir_list do
printfn "Working on Munis Extract File: %A " (Path.GetFileName(fn))
let query = "select count(*) from ReportProcessedStatus where ReportDate = #" + report_date + "# and ReportFileName = '" + fn + "'"
use cmd = new OleDbCommand(query , ADOCon)
let sql_reader = cmd.ExecuteReader ()
let row_read_OK = sql_reader.Read ()
Весь этот код работает, и row_read_OK становится истинным после выполнения.
ExecuteScalar
вместоExecuteReader
- person kvb   schedule 25.05.2017