0
 Public Shared Function GetData(ByVal id As Integer) As List(Of SomeClass)
            Dim command As New OracleCommand       
            Dim conn As New OracleConnection(WebConfigurationManager.ConnectionStrings("ConnectionString").ToString)
            Dim param As New OracleParameter
            param.ParameterName = "idnumber"
            param.Value = id
            param.DbType = DbType.Int32
            command.Parameters.Add(param) 

            command.Connection = conn
            command.CommandText = "select VAL1, VAL2, Year from local.proc where id = :idnumber and Year = to_number(to_char(sysdate,’YYYY’))"

            Dim reader As OracleDataReader
            Dim someList As New List(Of SomeClass)

            connection.Open()
            reader = command.ExecuteReader()
            While reader.Read
                Dim someClass As New SomeClass
                someClass.VAL1 = reader("VAL1")
                someClass.VAL2 = reader("VAL2")
                someClass.Year = reader("YEAR")
                someList.Add(someClass)
            End While
            connection.Close()
            Return someList
        End Function

この関数は、ORA-00911 無効な文字エラーを発生させています。同じスタイルの他のメソッドがあり、これらは正しく機能しています。ここで私が間違っている場所についてアドバイスをお願いします。ありがとう

4

2 に答える 2

3
于 2011-09-12T12:59:02.093 に答える
2

It looks like you are using formatted apostrophes.

to_char(sysdate,’YYYY’

try change it to

to_char(sysdate,'YYYY'
于 2011-09-12T13:00:01.237 に答える