这几天在学习mysql数据库的一些功能,今天在调用存储过程的时候 总是失败,最后发现居然是一个参数名称的问题,我将粘出代码事例及注意事项!
1.首先创建一个带参数的存储过程
①存储过程名称=proc_bookinfo
②存储过程2个参数 一个in 一个out in参数名称=ispay out参数名称=unPaycount
③
这个存储过程 根据传入的未支付字段名称 输出未支付的商品数量
DELIMITER $$
USE `bookshop`$$
DROP PROCEDURE IF EXISTS `proc_bookinfo`$$
CREATE DEFINER=``@`` PROCEDURE `proc_bookinfo`(IN ispay VARCHAR(10),OUT unPaycount INT)
BEGIN
SELECT COUNT(*) INTO unPaycount FROM tb_bookinfo AS a,tb_shopbook AS b WHERE b.ispay=ispay;
END$$
DELIMITER ;
DELIMITER $$
USE `bookshop`$$
DROP PROCEDURE IF EXISTS `proc_bookinfo`$$
CREATE DEFINER=``@`` PROCEDURE `proc_bookinfo`(IN ispay VARCHAR(10),OUT unPaycount INT)
BEGIN
SELECT COUNT(*) INTO unPaycount FROM tb_bookinfo AS a,tb_shopbook AS b WHERE b.ispay=ispay;
END$$
DELIMITER ;
本文介绍了在C#中调用MySQL带参数存储过程时遇到的问题及其解决方法。详细展示了如何创建存储过程,以及在C#代码中正确设置参数以避免调用失败。关键在于确保C#参数与存储过程参数的名称、类型和方向匹配,并设置CommandType为CommandType.StoredProcedure。
最低0.47元/天 解锁文章
531





