※ ChatGPTを利用し、要約された質問です(原文:パラメータクエリでの範囲検索方法)
パラメータクエリでの範囲検索方法
このQ&Aのポイント
VB.NET2005とOracle10gで開発をしており、セキュリティー対策のためパラメータクエリを使用しています。しかし、範囲検索ができずに困っています。
パラメータクエリでの日付範囲検索の経験のある方からのアドバイスをお願いします。
TableAにはUpdateTime列がTimestamp型で、2007/01/23と2007/01/24の二つのレコードがあります。
こんにちは。現在VB.NET2005とOracle10gで開発をしています。
SQLについてはセキュリティー対策のためパラメータクエリでおこなっています。
困ったことにパラメータクエリで範囲検索ができないのです。
以下のソースです。
Imports System
Imports System.Data
Imports Oracle.DataAccess.Client
private sub getdata()
Dim OraCommand As OracleCommand = New OracleCommand
Dim OraParameter(0) As OracleParameter 'パラメータ
'コネクションのセット
OraCommand.Connection = _Connection'オープンされたコネクション
'パラメータSQLをセット
OraCommand.CommandText = "select * from Table1 where UpdateTime >= :UpdateTime and UpdateTime <= :UpdateTime"
'名前によるパラメータ識別をON
OraCommand.BindByName = True
OraParameter(0) = OraCommand.Parameters.Add("UpdateTime","2007/01/23")
ReDim Preserve OraParameter(1)
OraParameter(1) = OraCommand.Parameters.Add("UpdateTime","2007/01/24")
'SELECT実行(結果は0件)
Return OraCommand.ExecuteReader()
TableAには二件のレコードが入っていて片方はUpdateTime列が
2007/01/23もう片方が2007/01/24です。
TableAのUpdateTime列のデータ型はTimestampです。
どなたかパラメータクエリで日付範囲検索の経験のある方
教えていただけないでしょうか?
補足
列名とパラメータ名は同じでもできました。 BindByName=Trueでパラメータ名が重複するほうがだめなのでしょか?