簡體   English   中英

如何向通過 oledb 在 excel 電子表格上運行的計數查詢添加參數?

[英]How do you add parameters to a count query ran on an excel spreadsheet via oledb?

我正在嘗試計算某個日期之前的列上的值數。 以下是我目前的嘗試。 如果沒有 where 部分,我可以毫無問題地運行它,但是當然這需要返回正確的值。

  1. string type = "Beacon Comm" 這是工作表名稱。
  2. TargetBuildOledbConnection = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + FTPYTracker + "';Extended Properties='Excel 12.0;HDR=YES;IMEX=1;';"
  3. string AssyColumn = "F" 或任何要搜索的列
  4. DateTimeSelection = "03/01/2020 00:00:00" 或來自日期選擇器的相同格式的數據。

     public double GetInProgressOledb(string type, OleDbConnection FTPYBuildOleDbConnection, string AssyColumn, DateTime Selection) { const string prodParamName = "@prod"; double lastDayOfMonth = (new DateTime(Selection.Year, Selection.Month, 1).AddMonths(1).AddDays(-1)).ToOADate(); using (OleDbCommand comm = new OleDbCommand()) { comm.Connection = FTPYBuildOleDbConnection; comm.CommandText = string.Format(ci, "SELECT Count(*) FROM [" + type + "$" + AssyColumn + ":" + AssyColumn + "] WHERE [" + AssyColumn + "$] = #" + lastDayOfMonth + "#"); //comm.Parameters.Add(prodParamName, OleDbType.VarChar); //comm.Parameters[prodParamName].Value = lastDayOfMonth; double rowCount = Convert.ToDouble((int)comm.ExecuteScalar()); return rowCount; } }

嘗試這個

comm.Parameters.Add("@prod", OleDbType.VarChar).Value = lastDayOfMonth;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM