急呀!! VB.NET调用存储过程的问题....
Dim CommandType As New Data.CommandType
Dim sqlDbType As New System.Data.SqlDbType
Dim strSelPath As String = ""
'SP実行用コマンドの生成
SpCommand = MyConnection.CreateCommand()
SpCommand.CommandType = Data.CommandType.StoredProcedure
SpCommand.CommandTimeout = 300
'コマンドテキストには実行プロシージャ名を指定
SpCommand.CommandText = "UKY03010002.UKY0301000201"
'戻り値をパラメータの一番目に指定すること!
With SpCommand.Parameters
.Add(New OracleParameter("I_NO_KUBUN", OracleDbType.Char)).Value = kubun
.Add(New OracleParameter("I_COMMIT_FLAG", OracleDbType.Char)).Value = "1"
.Add(New OracleParameter("I_KOSIN_TANTOSYA_CODE", OracleDbType.Char)).Value = code
.Add(New OracleParameter("I_KOSIN_COMPUTER_NAME", OracleDbType.Char)).Value = name
.Add(New OracleParameter("O_RESULT", OracleDbType.Int16)).Direction = Data.ParameterDirection.Output
.Add(New OracleParameter("O_SYUTOKU_NO", OracleDbType.Int16)).Direction = Data.ParameterDirection.Output
End With
'SPの実行
SpCommand.ExecuteNonQuery()
数据库的定义:
PROCEDURE UKY0301000201(
I_NO_KUBUN IN CHAR,
I_COMMIT_FLAG IN CHAR,
I_KOSIN_TANTOSYA_CODE IN CHAR,
I_KOSIN_COMPUTER_NAME IN VARCHAR2,
O_RESULT OUT VARCHAR2,
O_SYUTOKU_NO OUT VARCHAR2);
END;
为什么正常执行完后,返回的永远是负值...返回0才对啊!!!