900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mvc调用mysql存储过程_mysql – 存储过程不在MVC5中返回值

mvc调用mysql存储过程_mysql – 存储过程不在MVC5中返回值

时间:2018-07-06 09:09:01

相关推荐

mvc调用mysql存储过程_mysql  – 存储过程不在MVC5中返回值

我正在使用db方法在MVC5中使用Entity Framework.我使用Mysql作为数据库.我创建了一个过程,当Mysql中的Call Procedure它符合我的期望时.但是当我在MVC中使用过程时,它每次返回0.

存储过程

CREATE PROCEDURE `checkSeasonAvailability`(

IN paramSeasonId INT,

IN paramHotelId INT,

IN paramStartDate varchar(20),

IN paramEndDate varchar(20)

)

BEGIN

DECLARE _startDate,_endDate DATETIME;

DECLARE _hotelseasonID BIGINT(20);

DECLARE _count,_rowCount,_dateDiff INT;

DECLARE _index INT DEFAULT 1;

DECLARE i INT DEFAULT 0;

DECLARE cursorSeasonList CURSOR FOR SELECT `hotel_season_id`,`start_date`,`end_date`

FROM hotel_season_link

WHERE hotel_id = paramHotelId &&

season_id = paramSeasonId &&

active = TRUE;

OPEN cursorSeasonList;

SET _rowCount=FOUND_ROWS();

SET _count=_rowCount;

IF(_rowCount>0) THEN

Proc:WHILE _index <= _rowCount DO

FETCH cursorSeasonList INTO _hotelseasonID,_startDate,_endDate;

SET _dateDiff=datediff(paramEndDate,paramStartDate);

SET i=0;

WHILE i <= _dateDiff DO

SELECT COUNT(*) FROM hotel_season_link

WHERE

adddate(paramStartDate,i) BETWEEN _startDate AND _endDate INTO _count;

IF(_count>0) THEN

SELECT 1;

LEAVE Proc;

END IF;

SET i=i+1;

END WHILE;

SET _index=_index+1;

END WHILE;

END IF;

END

CALL checkSeasonAvailability(1,3,'-12-26 00:00:00','-12-31 00:00:00');//call in mysql

调节器

String format = "yyyy-MM-dd hh:mm:ss";

var status = db.checkSeasonAvailability(seasonId, hotelId, startDate.ToString(format), endDate.ToString(format));

当我调试我的代码时,我发现所有必需的参数发送成功,但我没有得到返回值.

如果我的代码有任何问题,请建议我.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。