c#调用Mysql带参数的存储过程
来源:互联网 发布:wowtbc数据库t6 套 编辑:程序博客网 时间:2024/06/15 17:18
这几天在学习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 ;
2.C#代码调用该存储过程
①sql语句只需要写存储过程的名称即可
②2个参数的名称和数据类型以及数据长度都要和数据库中定义存储过程的参数完全相同(大小写不影响)
③2个参数的Direction属性赋予对应的类型
④调用ExcuteProc方法执行 即可,输出值就是传入的第二个参数
StringBuilder sql=new StringBuilder(); sql.Append("proc_bookinfo"); MySqlParameter[] parameters = { new MySqlParameter("@ispay", MySqlDbType.VarChar,10), new MySqlParameter("@unPaycount", MySqlDbType.Int32,11) }; parameters[0].Value ="未付款"; parameters[0].Direction = ParameterDirection.Input; parameters[1].Value = 0 ; parameters[1].Direction = ParameterDirection.Output; DbHelperMySQL.ExecuteProc(Convert.ToString(sql), parameters);
注意:CommandType属性一定赋值为CommandType.StoredProcedure
public static object ExecuteProc(string SQLString, params MySqlParameter[] cmdParms) { using (MySqlConnection connection = new MySqlConnection(connectionString)) { using (MySqlCommand cmd = new MySqlCommand()) { try { PrepareCommand(cmd, connection, null, SQLString, cmdParms); cmd.CommandType = CommandType.StoredProcedure; int rows = cmd.ExecuteNonQuery(); Console.WriteLine("返回值为 "+cmdParms[1].Value); cmd.Parameters.Clear(); return rows; } catch (MySql.Data.MySqlClient.MySqlException e) { connection.Close(); throw e; } } } }
以上就是c#调用Mysql带参数的存储过程的一个完整事例!有问题的朋友可以私信我,也希望大家多多提出建议!
0 0
- c#调用Mysql带参数的存储过程
- C#调用带参数的存储过程
- c#带输入输出参数调用存储过程
- c#调用带输出参数的存储过程
- C#里调用带输出参数的存储过程
- C#调用带输入输出参数的存储过程
- c#调用带输出参数的存储过程
- c#调用带输出参数的存储过程
- c#调用带参数或返回值的存储过程
- shell如何调用带参数的mysql存储过程
- Java调用Oracle、mysql带out参数的存储过程
- PHP_PDO 调用mysql 带返回参数的存储过程
- Hibernate3调用带返回参数的mysql存储过程
- ibatis调用mysql带OUT类型参数的存储过程
- 关于C#调用存储过程,带输出参数,存储过程
- VC++调用带参数的存储过程
- 调用带输出参数的存储过程
- 带输出参数的存储过程调用
- JavaScript 点击单选按钮改变输入框(文本域)的内容
- qt程序设计问题杂谈
- 全面了解 iOS 静态库开发
- Eclipse调试Bug的七种常用技巧
- jQuery执行脚本,在指定的div添加(附加)html代码
- c#调用Mysql带参数的存储过程
- request.getParameter("scoreNumber")根据什么取值
- 《Android开发艺术探索》图书勘误
- asp.net网站后台退出后,点后退按钮仍能进,如何安全退出
- iOS 共享文件的方法,应用间传文档
- chrome插件-离线安装
- [BLE--Link Layer]Link层控制之连接更新过程
- 线性不等式组的旋转算法
- c#对csv的读写