Oracleのストアドファンクションを呼び出す方法です。
System.Data.OracleClientを利用するので、参照設定を行ってください。
呼び出すストアドファンクションは、数値型の引数が2個、この2個の数値を掛算した結果を返す簡単なストアドファンクションです。
CREATE OR REPLACE FUNCTION TEST_CALC(
num_in_Value1 IN NUMBER -- [ I ]数値1
,num_in_Value2 IN NUMBER -- [ I ]数値2
) RETURN NUMBER AS
BEGIN
RETURN num_in_Value1 * num_in_Value2;
END TEST_CALC;
上記のストアドファンクションを呼び出し、答えをメッセージボックスに表示します。
Imports System.Data.OracleClient
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
''テスト用の定数
Dim value1 As Integer = 9
Dim value2 As Integer = 32
Dim builder As New System.Data.OracleClient.OracleConnectionStringBuilder
''ORACLE接続文字列
With builder
.DataSource = "hogehoge"
.UserID = "user"
.Password = "password"
End With
Using con As New OracleConnection(builder.ConnectionString)
con.Open()
Using cmd As New OracleCommand
With cmd
.Connection = con
.CommandType = CommandType.StoredProcedure
.CommandText = "TEST_CALC"
.Parameters.Add("num_in_Value1", OracleType.Number).Value = value1
.Parameters.Add("num_in_Value2", OracleType.Number).Value = value2
.Parameters.Add("ret_Value", OracleType.Number).Direction = _
ParameterDirection.ReturnValue
.ExecuteNonQuery()
MessageBox.Show(String.Format("{0}X{1}={2}", _
value1, value2, .Parameters("ret_Value").Value))
End With
End Using
End Using
End Sub
End Class