VB is not case sensitive, so changing the case didn't make any difference.

I'm still getting the same non-sensical error message.

Jesse

----- Original Message ----- From: "DG @ NEFACOMP" <[EMAIL PROTECTED]>
To: "Jesse" <[EMAIL PROTECTED]>; "MySQL . Net List" <[EMAIL PROTECTED]>
Sent: Tuesday, July 04, 2006 10:23 AM
Subject: Re: More Stored Procedure Issues


On my side your code works (in C#) but I had to change one line
       Cmd.Parameters.Add("?cInvNo",MySQLDBType.VarChar)

I changed it to:
        Cmd.Parameters.Add("?cInvNo", MySqlDbType.VarChar)
(The difference is on the casing of <<<MySqlDbType>>>)



Hope this helps
Emery
----- Original Message ----- From: "Jesse" <[EMAIL PROTECTED]>
To: "MySQL . Net List" <[EMAIL PROTECTED]>
Sent: Tuesday, July 04, 2006 15:20
Subject: More Stored Procedure Issues


OK, same SP, different problem. I did some very minor editing of my SP, and got rid of some space between parameters, and moved a parenthesis, made sure that my user had Execute permissions for SP's, and now, I'm getting a different error. I get the error, "42000Incorrect number of arguments for PROCEDURE bpa.sp_GetNextInv; expected 2, got 0", which makes absolutely no sense to me, because I HAVE defined 2 parameters....!!!! Here is my ASP.Net code:

<%@ Import Namespace="System.Data"%>
<Script Runat="Server">
function GetNextInv(nChapterID As Integer) As String
  Dim Cmd As MySQLCommand, Conn AS MySQLConnection

  Conn = OpenConn

  Cmd = New MySQLCommand("sp_GetNextInv", Conn)
  Cmd.CommandType = CommandType.StoredProcedure

  Cmd.Parameters.Add("?nChapterID",nChapterID)
  Cmd.Parameters("?nChapterID").Direction = ParameterDirection.Input
  Cmd.Parameters.Add("?cInvNo",MySQLDBType.VarChar)
  Cmd.Parameters("?cInvNo").Direction = ParameterDirection.Output

  Cmd.ExecuteNonQuery()

  GetNextInv = CStr(Cmd.Parameters("?cInvNo").Value)

  Cmd=Nothing
  Conn.Close
  Conn=Nothing

end function
</script>

here is the stored procedure:

CREATE PROCEDURE `sp_GetNextInv`(
in nChapterID Int,
out cInvNo VarChar(7)
)
BEGIN
Declare cPrefix VarChar(1);
Declare cNextInv VarChar(7);
Set cInvNo = '';

IF nChapterID > 0 THEN
 SELECT TempInvNo INTO cInvNo FROM Chapters WHERE ID=nChapterID;
END IF;

IF (cInvNo = '') or (cInvNo IS NULL) THEN
   SELECT NextInvoiceNo INTO cInvNo FROM Config;
SET cNextInv = Right('0000000' + CONVERT(CONVERT(cInvNo, UNSIGNED) + 1, CHAR), 7);
   UPDATE Config SET NextInvoiceNo=cNextInv;
   IF nChapterID = -1 THEN
      Set cInvNo = CONCAT('L',Right(CONCAT('000000',cInvNo),6));
 END IF;
   IF nChapterID = -2 THEN
      Set cInvNo = CONCAT('C',Right(CONCAT('000000',cInvNo),6));
 END IF;
   IF nChapterID > 0 THEN
  SELECT CT.InvPrefix INTO cPrefix FROM ChapterType CT, Chapters C
   WHERE C.ID=nChapterID AND CT.ChapterType=C.ChapterType;
     Set cInvNo = CONCAT(cPrefix,Right(CONCAT('000000',cInvNo),6));
      UPDATE Chapters SET TempInvNo=cInvNo WHERE ID=nChapterID;
 END IF;
END IF;
END

If anyone has any clue why it's telling me I haven't defined parameters when I have, I would greatly appreciate it.

Thanks,
Jesse

--
MySQL on .NET Mailing List
For list archives: http://lists.mysql.com/dotnet
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]






--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to