.net下mysql存储过程返回自定义值(原创)
2015-11-16 15:42
573 查看
ado.net方法
存储过程
.net调用
public static string ExecuteQueryProc(string sConnStr, string sSql, Hashtable args) { MySqlCommand cmd = null; try { cmd = new MySqlCommand(sSql); cmd.Connection = new MySqlConnection(sConnStr); cmd.CommandType = CommandType.StoredProcedure; cmd.Connection.Open(); MySqlParameter mypara = cmd.Parameters.AddWithValue("@ReValue", SqlDbType.NVarChar); mypara.Direction = ParameterDirection.ReturnValue; // cmd.Parameters.AddWithValue("@ReValue", ""); foreach (DictionaryEntry de in args) { if (de.Value.ToString() != null && de.Value.ToString() != "") { cmd.Parameters.AddWithValue("@" + de.Key.ToString(), de.Value.ToString()); } } cmd.ExecuteScalar(); string reValue = (string)cmd.Parameters["@ReValue"].Value.ToString(); return reValue; } finally { cmd.Connection.Close(); if (cmd != null) cmd.Dispose(); } }
存储过程
CREATE PROCEDURE customReturnValue(parName varchar(50),out ReValue varchar(50) begin declare reuturnName varchar(50); SELECT name INTO reuturnName FROM infosheet WHERE name = parName ; SELECT reuturnName; if reuturnName is null then insert into infosheet(name) values (parName); set ReValue =6; else set ReValue =5; end if; end
.net调用
Hashtable hasTable = new Hashtable(); hasTable.Add("parName", "小明"); string returnValue = MySQLHelper.ExecuteQueryProc(MySQLHelper.connectionString, "secondProc", hasTable);
相关文章推荐
- mysql中order by的一些特殊用法
- mysql唯一主键生成代码
- Navicat for MySQL使用手记(上)--创建数据库和表
- mysql使用keepalived搭建双master
- Navicat for Mysql 如何备份数据库
- Mysql报Cannot load from mysql.proc. The table is probably corrupted
- percona xtrabackup 2.3.2 MySQL5.6 备份恢复
- 解决MysqlWorkbench Export Data时报错:'delayed-insert'=FALSE
- mysql学习——DATE_SUB()&EXTRACT() 函数
- MySQL提供的可以计算两个时间间隔的函数
- 关于mysql -uroot -p 或者修改密码时候用到mysqladmin
- MySQL计算行
- 完全卸载mysql(停止服务、卸载相关程序、删除注册表)
- mysql 超大SQL文件导入
- mysql 如何修改、添加、删除表主键
- Mac OS X 下 TAR.GZ 方式安装 MySQL
- MySQL5.6中新增特性、不推荐使用的功能以及废弃的功能
- MYSQL用法(十七) MySQL中DATE_FORMAT()用法
- MySQL 模糊检索
- mysql查询今天、昨天、7天、近30天、本月、上一月 数据