调存储过程 参数类型不对

s_u_n 2006-11-23 07:14:10
我写了一个存储过程 当我去调存储过程的时候 提示说参数不对 不知道怎么理解
Private Function MitumorishonUpdate2(ByVal requestParam As Hashtable, ByVal myTrans As OracleTransaction, ByVal SessionParam As Hashtable, ByVal errMsg As String) As Boolean
Dim conn As New OracleConnection
Dim myMaster As PRMaster
Dim PGID As String
Dim rtnCd As String
Dim cmd As New OracleCommand
conn = GetDBConnect()
conn.Open()
'SP指定
Dim sql As New StringBuilder
sql.Append("BEGIN :RTNCD := PMS1105.UPDATE_BUKKEN(")
sql.Append(" :IN_BUKKEN_NO,")
sql.Append(" :IN_MITUMORISYO_NO,")
sql.Append(" :IN_USER_ID,")
sql.Append(" :OUT_MESSAGE,")
sql.Append(" :OUT_PGID")
sql.Append("); END;")
Dim params As OracleParameter() = New OracleParameter() { _
New OracleParameter("RTNCD", OracleType.Number), _
New OracleParameter("IN_BUKKEN_NO", OracleType.VarChar), _
New OracleParameter("IN_MITUMORISYO_NO", OracleType.VarChar), _
New OracleParameter("IN_USER_ID", OracleType.VarChar), _
New OracleParameter("OUT_MESSAGE", OracleType.VarChar, 50), _
New OracleParameter("OUT_PGID", OracleType.VarChar, 7) _
}
params(0).Direction = ParameterDirection.ReturnValue
params(1).Direction = ParameterDirection.Input
params(2).Direction = ParameterDirection.Input
params(3).Direction = ParameterDirection.Input
params(4).Direction = ParameterDirection.Output
params(5).Direction = ParameterDirection.Output


params(1).Value = requestParam.Item("BUKKEN_NO")
params(2).Value = txtMitumorishonban.Text
params(3).Value = SessionParam("PM_SHAIN_CD")

cmd = conn.CreateCommand()
cmd.CommandText = sql.ToString()
cmd.CommandType = CommandType.Text

cmd.Parameters.AddRange(params)


cmd.ExecuteNonQuery()

执行到cmd.ExecuteNonQuery()这个的时候,提示说 调UPDATE_BUKKEN这个的时候 参数的数值型不对
...全文
126 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
s_u_n 2006-11-23
  • 打赏
  • 举报
回复
FUNCTION UPDATE_BUKKEN(
IN_BUKKEN_NO IN VARCHAR2 --物件№
,IN_USER_ID IN VARCHAR2 --社員コード
,OUT_MESSAGE OUT VARCHAR2 --エラーメッセージ
,OUT_PGID OUT VARCHAR2 --プログラムID
)
RETURN NUMBER
IS
/*********************/
/* 変数宣言 */
/*********************/
WK_COUNT NUMBER; --登録用見積書№
BEGIN
/* 共通関数セット */
LD_SYSDATE := SYSDATE;
LC_MESSAGE := NULL;
SELECT COUNT(*)
INTO WK_COUNT
FROM PM_T_MITUMORI
WHERE BUKKEN_NO =IN_BUKKEN_NO
AND DELETE_FLG ='N'
AND TEISYUTU_JYOUKYOU ='1';
IF WK_COUNT>0 THEN
UPDATE PM_T_BUKKEN
SET BUKKEN_STATUS = '1'
,UPDATE_DATE = LD_SYSDATE
,UPDATE_BY = IN_USER_ID
,UPDATE_PG = 'PMS1105'
WHERE BUKKEN_NO = IN_BUKKEN_NO
AND BUKKEN_STATUS = '0';
END IF;
IF WK_COUNT=0 THEN
UPDATE PM_T_BUKKEN
SET BUKKEN_STATUS = '0'
,UPDATE_DATE = LD_SYSDATE
,UPDATE_BY = IN_USER_ID
,UPDATE_PG = 'PMS1105'
WHERE BUKKEN_NO = IN_BUKKEN_NO
AND BUKKEN_STATUS = '1';
END IF;
/* 正常終了 */
RETURN 0;
EXCEPTION
WHEN OTHERS THEN
IF (LC_MESSAGE IS NULL) THEN
OUT_MESSAGE := substrb(sqlerrm, 1, 100);
END IF;
OUT_PGID := 'PMS1105';
RETURN -1;
END UPDATE_BUKKEN;
mingyuev 2006-11-23
  • 打赏
  • 举报
回复
Oracle昏了~~~~
不懂,不会用>sql2000还是牛的
s_u_n 2006-11-23
  • 打赏
  • 举报
回复
这个问题该怎么解决 在线等答案

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧