Hi All
I have a problem from this procedure and cursor
********************************
ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'SHOPPINGCARTLIST' ORA-06550: line 1, column 7: PL/SQL: Statement ignored
********************************
And this is my coding
CREATE OR REPLACE VIEW V_SHOPPINGCARTLIST
(PRD_PRODUCTID,PRD_PRODUCTTITLE,QUANTITY,PRD_UNITP RICE, CARTID ,EXTENEDAMOUNT
)
AS
SELECT TBLPRODUCT.PRD_PRODUCTID,TBLPRODUCT.PRD_PRODUCTTIT LE,
SHOPPINGCART.QUANTITY,
TBLPRODUCT.PRD_UNITPRICE,
SHOPPINGCART.CARTID,
TBLPRODUCT.PRD_UNITPRICE*SHOPPINGCART.QUANTITY
FROM
TBLPRODUCT,SHOPPINGCART
WHERE
TBLPRODUCT.PRD_PRODUCTID=SHOPPINGCART.PRODUCTID
AND
SHOPPINGCART.CARTID=CARTID
ORDER BY
TBLPRODUCT.PRD_PRODUCTTITLE;
*********************************
CREATE OR REPLACE PACKAGE SHOPPINGLIST_PKG AS
TYPE SHOPPINGLIST_CUR IS REF CURSOR
RETURN V_SHOPPINGCARTLIST%ROWTYPE;
END SHOPPINGLIST_PKG;
*********************************
CREATE OR REPLACE PROCEDURE SHOPPINGCARTLIST(I_CARTID IN VARCHAR2, RETURN_CUR OUT SHOPPINGLIST_PKG.SHOPPINGLIST_CUR)
--SHOPPINGLIST_PKG IS PACKAGE NAME AND SHOPPINGLIST IS
--REFERENCE IN PACKAGE
AS
BEGIN
OPEN RETURN_CUR FOR SELECT * FROM V_SHOPPINGCARTLIST
WHERE CARTID=I_CARTID;
--MUST SELECT DATA FROM VIEW
END SHOPPINGCARTLIST;
******************************
And I use function GetItem to call Procedure ShoppingCartList
Public Function GetItems(ByVal cartID As String) As OracleClient.OracleDataReader
Dim myConnString As String = _
"user id=scott;integrated security=False;data source=orcl;password=tiger"
Dim myConnection As New OracleConnection(myConnString)
' Create Instance of Connection and Command Object
Dim myCommand As OracleCommand = New OracleCommand("ShoppingCartList", myConnection)
' Mark the Command as a SPROC
myCommand.CommandType = CommandType.StoredProcedure
' Add Parameters to SPROC
Dim parameterCartID As OracleParameter = New OracleParameter("I_CartID", OracleType.VarChar, 10)
parameterCartID.Value = cartID
myCommand.Parameters.Add(parameterCartID)
' Execute the command
myConnection.Open()
Dim result As OracleDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConne ction)
' Return the datareader result
Return result
End Function
********************************
Both parameters in function GetItems and procedure are VarChar ,Why does it still show error?
Blueman137