这是一个web api框架下的项目,主要是为了给他人调用。

      public IDictionary<string, IList<v_order_menu>> GetDishes(string date, string windowid, int enjoyid){IDictionary<string, IList<v_order_menu>> v_order_menu = new Dictionary<string, IList<v_order_menu>>();StringBuilder sql = new StringBuilder();sql.Append("proc_GetCurrentDishesByWindow");MySqlParameter[] parameters ={new MySqlParameter("@windowNumber",MySqlDbType.VarChar,8),new MySqlParameter("@enjoyid",MySqlDbType.Int32),new MySqlParameter("@mydate",MySqlDbType.DateTime)};parameters[0].Value = windowid;parameters[1].Value = enjoyid;parameters[2].Value = date;parameters[0].Direction = ParameterDirection.Input;parameters[1].Direction = ParameterDirection.Input;parameters[2].Direction = ParameterDirection.Input;DataSet ds = DbHelperMySQL.GetStoreProcedure(Convert.ToString(sql),parameters);IList<v_order_menu> order_menu = DbHelperMySQL.DataSetToIList<v_order_menu>(ds, "v_order_menu");v_order_menu.Add("data", order_menu);return v_order_menu;}

这里是调用方法,接受三个参数,返回一个Dictrionnary类型的数据

     public static DataSet GetStoreProcedure(string SQLString, params MySqlParameter[] cmdParms){using (MySqlConnection connection = new MySqlConnection(Conn)){using (MySqlCommand cmd = new MySqlCommand()){PrepareCommand(cmd, connection, null, SQLString, cmdParms);cmd.CommandType = CommandType.StoredProcedure;using (MySqlDataAdapter da = new MySqlDataAdapter(cmd)){DataSet ds = new DataSet();try{da.Fill(ds, SQLString);cmd.Parameters.Clear();}catch (MySql.Data.MySqlClient.MySqlException ex){throw new Exception(ex.Message);}return ds;}}}}
      private static void PrepareCommand(MySqlCommand cmd, MySqlConnection conn, MySqlTransaction trans, string cmdText, MySqlParameter[] cmdParms){if (conn.State != ConnectionState.Open)conn.Open();cmd.Connection = conn;cmd.CommandText = cmdText;if (trans != null)cmd.Transaction = trans;cmd.CommandType = CommandType.Text;//cmdType;if (cmdParms != null){foreach (MySqlParameter parameter in cmdParms){if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&(parameter.Value == null)){parameter.Value = DBNull.Value;}cmd.Parameters.Add(parameter);}}}

这是数据库操作类

这里我犯的错误,在传参时 new MySqlParameter("@windowNumber",MySqlDbType.VarChar,8),   这个@windowNumber 不能有空格

不然就会这样

"ExceptionMessage": "Parameter 'windowNumber' not found in the collection.",

百思不得其解 希望大家不要犯我这个错误

C# 调用mysql存储过程相关推荐

  1. hibernate mysql 存储过程_hibernate调用mysql存储过程

    hibernate调用mysql存储过程 在最近的项目中,碰到一小段数据库数据分析的程序,需要结合多张表联合查询或涉及到子查询,项目主要采用的java ee开发,使用了hibernate框架,由于这些 ...

  2. vb获得mysql的值,VB.NET调用MySQL存储过程并获得返回值的方法

    本文实例讲述了VB.NET调用MySQL存储过程并获得返回值的方法.分享给大家供大家参考.具体实现方法如下: Dim myConnectionString As String = "Data ...

  3. jsp实现mysql存储过程_JSP调用MySQL存储过程收藏

    JSP调用MySQL存储过程收藏 1使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列.不带参数的 call 转义序列的语法如下所示: {c ...

  4. mysql存储过程 php_PHP调用MYSQL存储过程实例

    说一下 在PHP页面中调用MYSQL存储过程的方法 以下是几个例子 仅供参考 实例一:无参的存储过程 $conn = mysql_connect('localhost','root','root') ...

  5. go mysql存储过程_Golang 调用MySQL存储过程

    Golang 调用MySQL存储过程 最近写项目发现,很多逻辑业务的实现,写到数据库的存储过程中,然后调用,真的非常方便.后端代码量大大减少,最重要的是性能高,速度快! 引用说明:项目使用数据库ORM ...

  6. c++调用mysql存储过程_C++中ADO调用MySQL存储过程失败,诡异的语法异常,求解中,附源码...

    C++中ADO调用mysql存储过程失败,诡异的语法错误,求解中,附源码 不管怎么调整,死活都出现下面的错误 C++ADO代码我实在找不到什么错误了,难道是MySQL有什么问题,或者有其他需要注意的地 ...

  7. mysql inputoutput_PHP:同时使用INPUT和OUTPUT参数(不“ INOUT”)调用MySQL存储过程

    从PHP,我想在MySQL中调用存储过程.该过程采用输入 和 输出参数- 而不是 " INOUT" 参数. 对于一个简单的示例,说我在MySQL中具有以下存储过程: DELIMIT ...

  8. jdbc mysql 存储过程查询数据_jdbc调用mysql存储过程实现代码

    1. 创建存储过程 建立一个MySQL的存储过程 add_pro 复制代码 代码如下: delimiter // drop procedure add_pro // create procedure ...

  9. Golang 调用MySQL存储过程

    原创:转载请标明出处: https://blog.csdn.net/ming2316780/article/details/86499344 本文出自:[iGoogle.ink的博客] Golang ...

  10. SpringBoot Mybatis注解调用Mysql存储过程并接收多个OUT结果集(多个mode=IN和mode=OUT参数)

    其他同学提供的方式大部分都是Map接收调用mysql存储过程返回OUT结果集,要么游标,要么单个OUT,然后再次加工成想要的对象.涉及到直接用注解实现自动转换OUT参数结果集为对象时,都是忽略带过. ...

最新文章

  1. 2011年云计算发展趋势的五大预测
  2. cocos2d-x 错误异常抛出捕获和崩溃拦截
  3. windows cmd/dos操作防火墙
  4. Ubuntu使用docker安装redmine
  5. 通过PowerShell查询本机IP地址
  6. 二分法求近似根c语言程序,求一C++风格程序,用二分法求f(x)=0的根
  7. 线上CPU100%排查
  8. 【数组递归构造二叉树】LeetCode 108. Convert Sorted Array to Binary Search Tree
  9. Python爬虫新手入门教学(三):爬取链家二手房数据
  10. 在线字体文件转换工具(.ttf/.otf/.woff/.woff2文件在线转换)
  11. 使用 Visual Studio 发布 .NET 控制台应用程序
  12. dumprep.exe 进程吃掉一半CPU
  13. Android分步注册,Activity由B返回A修改再前往B,B中已填项不变
  14. Android静默拍照(无感知拍照)
  15. Kettle连接 SAP Hana 数据库
  16. 场景编程集锦 - 吉米的总统梦想
  17. 织梦++高级搜索php,织梦多条件筛选功能实现(dede联动搜索) - DeDecms
  18. 视频教程-2019年人工智能热门案例精讲之P图美化照片-深度学习
  19. 4G网速变慢?工信部回应:近期全国4G网速整体保持稳定
  20. 会计资料无纸化已经全面来临,iBox开始步入硬软结合的新时代

热门文章

  1. 天猫淘宝“双十一”交易额191亿
  2. 【支付】Cocos2d-x IOS内购(IAP支付)
  3. C语言典型题——数组左旋右旋
  4. 【每天学一点系列~】字符串左/右旋的本质,你真的认清了嘛?
  5. 国外问卷调查适合各类人群和工作室
  6. matlab ZData为非有限时,无法显示等高线
  7. 技术分享 oracle中fm的作用
  8. 小黑盒服务器不稳定,小黑盒什么时候更新 | 手游网游页游攻略大全
  9. 子网掩码必须是相邻的是什么意思_子网掩码必须是相邻的是什么意思 您输入一个无效的子网掩码...
  10. 浅谈数据中心机房动环监控系统的设计