我是没辙了,请大虾来救我--关于Oracle+asp.net的,急!!!
jsPan 2002-12-06 05:42:12 用的是System.Data.Oledb命名空间
Oracle 的存储过程如下:
CREATE OR REPLACE PROCEDURE DBOSAM.PROC_USERLOGIN
(
TEMPCURSOR OUT TYPES.MYCURSOR,
STRUSERNAME varchar2,
STRUSERPASSWD varchar2
)
AS
BEGIN
OPEN TEMPCURSOR FOR
SELECT T.USERID,T.PERSONINFO.NICKNAME,T.PERSONINFO.USERPASSWD,T.PERSONINFO.USERPOINTS,T.PERSONINFO.CREDITPOINTS,T.PERSONINFO.USERLEVEL,T.PERSONINFO.USERRIGHT,T.IDIOGRAPH,T.PICPATH,T.AGE,T.USEREMAIL,T.GENDER,T.MEMO
FROM TABLEUSERINFO T;
WHERE T.PERSONINFO.USERNAME=STRUSERNAME AND T.PERSONINFO.USERPASSWD=STRUSERPASSWD;
END PROC_USERLOGIN;
/
ASP.net的调用为:
Dim Conn As New System.Data.OleDb.OleDbConnection(Application.Item("ConnString"))
Dim Cmd As New System.Data.OleDb.OleDbCommand()
Dim myReader As System.Data.OleDb.OleDbDataReader
Dim intReturnvalue As Int16
Cmd.CommandType = CommandType.StoredProcedure
Cmd.CommandText = "PROC_USERLOGIN"
Cmd.Parameters.Add("STRUSERNAME", txtUsername.text)
Cmd.Parameters.Add("STRUSERPASSWD", txtPasswd.text)
Conn.Open()
Cmd.Connection = Conn
myReader = Cmd.ExecuteReader(CommandBehavior.CloseConnection)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
错误为:
ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 'PROC_USERLOGIN' 时参数数量或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 'PROC_USERLOGIN' 时参数数量或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored
'''''''''''''''''''''''''''''''''''''''''''''''''''
我知道cursor 作为输出不用传参数到数据库的,因为我有一个几乎一样的存储过程成功了,可是这个无非是多了一个参数,就出问题了,哎,大哥大哥,救救我