Click here to Skip to main content
15,912,493 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi
I have created a routine and it gets executed and it is there in the list of routines in my database but when i rum my application i am getting the exception function or procedure sp_getLeaveReqId cannot be found in the data base

C#
int leaveReqId = 0;
        Con = new MySqlConnection(conn);
        Con.Open();
        MySqlCommand cmdLeaveReqId = new MySqlCommand("sp_getLeaveReqId",Con);
        cmdLeaveReqId.Parameters.Add("@AssociateId", MySqlDbType.Int32).Value = Convert.ToInt32(strAssId.Trim());
        cmdLeaveReqId.Parameters.Add("@leaveType", MySqlDbType.String).Value = strLeaveType.Trim();
        cmdLeaveReqId.Parameters.Add("@leaveStatus", MySqlDbType.String).Value = strLeaveStatus.Trim();
        cmdLeaveReqId.CommandType = CommandType.StoredProcedure;
        MySqlDataReader drLeaveReqId = cmdLeaveReqId.ExecuteReader();
        drLeaveReqId.Read();
        leaveReqId = Convert.ToInt32(drLeaveReqId["leave_req_id"].ToString().Trim());
        Con.Close();
        return leaveReqId;

Routine:
C#
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_getLeaveReqId`(In AssociateId integer,In leaveType varchar(45),in leaveStatus varchar(45))
BEGIN
select leave_req_id from leave_request where leave_type_id = (select leave_type_id 
from leave_type where leave_type=leaveType) 
and leave_status_id=(select leave_status_id from leave_status where leave_status=leaveStatus) 
and associate_id=AssociateId;
END


Pl tell me where i went wrong
Posted
Updated 18-Jan-12 1:05am
v3
Comments
AmitGajjar 18-Jan-12 6:50am    
show us your code from your SP get called.
Shashwath7 18-Jan-12 7:05am    
hi this is my code from which i am calling my stored procedure

int leaveReqId = 0;
Con = new MySqlConnection(conn);
Con.Open();
MySqlCommand cmdLeaveReqId = new MySqlCommand("sp_getLeaveReqId",Con);
cmdLeaveReqId.Parameters.Add("@AssociateId", MySqlDbType.Int32).Value = Convert.ToInt32(strAssId.Trim());
cmdLeaveReqId.Parameters.Add("@leaveType", MySqlDbType.String).Value = strLeaveType.Trim();
cmdLeaveReqId.Parameters.Add("@leaveStatus", MySqlDbType.String).Value = strLeaveStatus.Trim();
cmdLeaveReqId.CommandType = CommandType.StoredProcedure;
MySqlDataReader drLeaveReqId = cmdLeaveReqId.ExecuteReader();
drLeaveReqId.Read();
leaveReqId = Convert.ToInt32(drLeaveReqId["leave_req_id"].ToString().Trim());
Con.Close();
return leaveReqId;
AmitGajjar 18-Jan-12 7:07am    
also try with database name, like DBName.sp_getLeaveReqId.


1 solution

You can simply define a Short procedure by
CREATE PROCEDURE PROCEDURENAME(@coloumn1 datatype,@coloumn2 datatype)
as
Select @coloumn1,@coloumn2 from tablename

Try this out this might work
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900