我有一組查詢,我正在用VB.NET代碼隱藏在讀取用戶輸入的開始日期和結束日期的網頁上。下面是代碼/查詢:在Oracle查詢中使用日期參數
strOraQuery = "SELECT a.col1, a.col2, a.col3 " & _
"FROM a_table a LEFT JOIN b_table b ON (a.col1=b.col1) " & _
"WHERE a.datecol BETWEEN :startdate AND :enddate"
oracmd = New OracleCommand(strOraQuery, oracn)
oracmd.Parameters.Add(New OracleParameter(":enddate", strEndDate))
oracmd.Parameters.Add(New OracleParameter(":startdate", strStartDate))
編輯#2:這些參數實際上是按順序在我的代碼,所以我翻轉他們去證實我其實是有問題的。請參閱下面的答案/評論。
strStartDate和strEndDate都是mm/dd/yyyy格式。
這段代碼通過DataReader和DataTable運行查詢。我從運行查詢收到的錯誤是
ORA-01858:一個非數字字符被發現,其中一個數字是 預期
我試圖更改查詢和參數。以至少十幾種不同的方式添加()語句並且沒有任何工作。我究竟做錯了什麼?
謝謝。
編輯:
的開始和結束日期是宣佈並設置像這樣的全局變量:
Dim strStartDate As String
Dim strEndDate As String
Protected Sub btnRun_Click(sender As Object, e As EventArgs) Handles btnRun.Click
strStartDate = txtStartDate.Text
strEndDate = txtEndDate.Text
...
我再次嘗試了這兩個,都沒有工作......我很難過。感謝您的幫助。 – Tim
請爲'strEndDate'和'strStartDate'顯示聲明和賦值。 – suPPLer
更新了問題以顯示變量聲明和賦值 – Tim