C#获取存储过程返回值和输出参数值的方法
//转自网络,先留个底
1.获取Return返回值
//存储过程 //Create PROCEDURE MYSQL // @a int, // @b int //AS // return @a + @b //GO SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString()); conn.Open(); SqlCommand MyCommand = new SqlCommand("MYSQL", conn); MyCommand.CommandType = CommandType.StoredProcedure; MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int)); MyCommand.Parameters["@a"].Value = 10; MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int)); MyCommand.Parameters["@b"].Value = 20; MyCommand.Parameters.Add(new SqlParameter("@return", SqlDbType.Int)); MyCommand.Parameters["@return"].Direction = ParameterDirection.ReturnValue; MyCommand.ExecuteNonQuery(); Response.Write(MyCommand.Parameters["@return"].Value.ToString());
2.获取Output输出参数值
//存储过程 //Create PROCEDURE MYSQL // @a int, // @b int, // @c int output //AS // Set @c = @a + @b //GO SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString()); conn.Open(); SqlCommand MyCommand = new SqlCommand("MYSQL", conn); MyCommand.CommandType = CommandType.StoredProcedure; MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int)); MyCommand.Parameters["@a"].Value = 20; MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int)); MyCommand.Parameters["@b"].Value = 20; MyCommand.Parameters.Add(new SqlParameter("@c", SqlDbType.Int)); MyCommand.Parameters["@c"].Direction = ParameterDirection.Output; MyCommand.ExecuteNonQuery(); Response.Write(MyCommand.Parameters["@c"].Value.ToString());
C#接收存储过程返回值:
public static int User_Add(User us){int iRet;SqlConnection conn = new SqlConnection(Conn_Str);SqlCommand cmd = new SqlCommand("User_Add", conn);cmd.CommandType = CommandType.StoredProcedure;cmd.Parameters.AddWithValue("@UName", us.UName);cmd.Parameters.AddWithValue("@UPass", us.UPass);cmd.Parameters.AddWithValue("@PassQuestion", us.PassQuestion);cmd.Parameters.AddWithValue("@PassKey", us.PassKey);cmd.Parameters.AddWithValue("@Email", us.Email);cmd.Parameters.AddWithValue("@RName", us.RName);cmd.Parameters.AddWithValue("@Area", us.Area);cmd.Parameters.AddWithValue("@Address", us.Address);cmd.Parameters.AddWithValue("@ZipCodes", us.ZipCodes);cmd.Parameters.AddWithValue("@Phone", us.Phone);cmd.Parameters.AddWithValue("@QQ", us.QQ);cmd.Parameters.Add("@RETURN_VALUE", "").Direction = ParameterDirection.ReturnValue; try{conn.Open();cmd.ExecuteNonQuery();iRet = (int)cmd.Parameters["@RETURN_VALUE"].Value;}catch (SqlException ex){throw ex;}finally{conn.Close();}return iRet;}
C#接收存储过程输出参数:
public static decimal Cart_UserAmount(int UID){decimal iRet;SqlConnection conn = new SqlConnection(Conn_Str);SqlCommand cmd = new SqlCommand("Cart_UserAmount", conn);cmd.CommandType = CommandType.StoredProcedure;cmd.Parameters.AddWithValue("@UID", UID);cmd.Parameters.Add("@Amount", SqlDbType.Decimal).Direction=ParameterDirection.Output;try{conn.Open();cmd.ExecuteNonQuery();iRet = (decimal)cmd.Parameters["@Amount"].Value;}catch (SqlException ex){throw ex;}finally{conn.Close();}return iRet;}
C# 中调用 MySQL 存储过程并传递参数和获取返回值
CallableStatement PreparedFunc = MyConnect.prepareCall("{ ? = call isodd( ? ) }"); PreparedFunc.registerOutParameter(1, Types.INTEGER);PreparedFunc.setInt(1, aNumber); PreparedFunc.execute();if (PreparedFunc.getInt(1) == 1)System.out.println(aNumber +"is odd"); elseSystem.out.println(aNumber +"is even");
C#操作Mysql数据库的存储过程
//MySql过程 //CREATE PROCEDURE JugePasswordCorrect(in username VARCHAR(64), in pwd VARCHAR(32)) //BEGIN //SELECT COUNT(*) FROM acctable WHERE account=username AND password=pwd; //END; using System; using System.Collections.Generic; using System.Linq; using System.Text; using MySql.Data.MySqlClient;namespace TestMysql2 {class Program{static void Main(string[] args){MySqlConnection conn = new MySqlConnection("Database=test;Data Source=localhost;User Id='test';Password='test';pooling=true;Minimum Pool Size=5;Maximum Pool Size=10;CharSet=utf8;port=3306;Connect Timeout=3600");conn.Open();MySqlCommand cmd = new MySqlCommand("JugePasswordCorrect", conn);cmd.CommandType = System.Data.CommandType.StoredProcedure;cmd.Parameters.Add("?username", MySqlDbType.VarChar, 64);cmd.Parameters["?username"].Value = "test";cmd.Parameters.Add("?pwd", MySqlDbType.VarChar, 32);cmd.Parameters["?pwd"].Value = "test";int rows = Convert.ToInt32(cmd.ExecuteScalar());if (rows > 0){// 密码正确 }conn.Close();}} }
其他写法:
myco = new MySqlConnection(strconn);myco.Open();mycomm = new MySqlCommand("GetRecordCount", myco);mycomm.CommandType = CommandType.StoredProcedure;MySqlParameter[] para = new MySqlParameter[]{new MySqlParameter("@tbName",MySqlDbType.VarChar,20),new MySqlParameter("@strWhere",MySqlDbType.VarChar,500)};para[0].Value = "uinfo";para[1].Value = strWhere;mycomm.Parameters.AddRange(para);MySqlDataReader mydr=mycomm.ExecuteReader();while(mydr.Read()){pageCount = System.Convert.ToInt32(mydr["countStr"].ToString()) ;pageCountMod = pageCount % pageSize;pageCount= pageCount/ pageSize;if (pageCount == 0){//pageCount++; }else{if (pageCountMod != 0){pageCount++;}}pageCountLab.Text = pageCount.ToString();}
/*其他:
参数有@开头的,也有?开头的.
MySqlDataAdapter.fill 返回集
转载于:https://www.cnblogs.com/xiii/p/5162038.html
C#获取存储过程返回值和输出参数值的方法相关推荐
- 获取存储过程返回值及代码中获取返回值
获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...
- 获取存储过程返回值及代码中获取返回值(转)
获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...
- python return返回值在计算机内的存储形式_Python如何执行存储过程,获取存储过程返回值...
在Pathon中如何执行存储过程呢?可以使用如下方法: 存储过程定义基本如下: ALTER procedure [dbo]. [mysp] @Station varchar ( 50), @SN va ...
- dotnet 获得存储过程返回值和输出参数有什么不同 @@IDENTITY SCOPE_IDENTITY()
存储过程1: Create PROCEDURE CreateNewUser @UserName varchar(50), @Password varchar(50), @Description var ...
- 【转】SQL SERVER 获取存储过程返回值
1.OUPUT参数返回值 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_buyerid int , @o_id bigint OUTPUT ) AS BEG ...
- 利用DAAB 获取存储过程返回值的方法
方法一 public static AdoHelper helper = AdoHelper.CreateHelper("sqlDA"); public static s ...
- 存储过程系列之存储过程返回值总结
sql存储过程返回值总结 1. 存储过程没有返回值的情况(即存储过程语句中没有return之类的语句)用方法 int count = ExecuteNonQuery(..)执行存储过程其返回值只有两种 ...
- js回调函数获取异步返回值
js回调函数获取异步返回值 1.尝试获取异步返回值 function test(){var res = 0;setTimeout(function(){res = 1;},1000)return re ...
- shell获取函数返回值
1.使用return返回结果 #/bin/bash function test(){return "123" } test echo $? 注意: 1.必须使用$?获取函数返回值, ...
最新文章
- 8 ServletContext
- Debian8.8解决双系统访问windows磁盘时,有时能成功挂载,有时不能成功挂载的情况...
- Spring Cloud笔记
- 计算机组成原理 陈泽,江西师范大学-计算机组成原理的期末复习.doc
- viewobject_只读ViewObject和声明性SQL模式
- 我参与的一个项目总结
- 表贴电阻尺寸与什么有关_0欧电阻存在的意义?看了就懂了
- 武魂觉醒s系列服务器,斗罗大陆武魂觉醒斗罗大陆9服开服时间表_斗罗大陆武魂觉醒新区开服预告_第一手游网手游开服表...
- 计算机网络-路由器广域网配置
- css实现LED液晶数码字体
- 《数学之美》 读书笔记
- 【PAT】A1107 Social Clusters (30分)
- ForgivingExceptionHandler: An unexpected connection driver error occured (Exception message: Socket
- c语言isfinite用法,C# Double.IsFinite()用法及代码示例
- 常量指针(Pointer to const)与指针常量(Const pointer)
- Java 中对象数组的简单存入与取出
- java无法重命名文件_巧妙地解决Java文件重命名失败的问题
- java公路车组装教程_骑行入门:怎样组装一辆自行车——零部件的准备
- 计划写Redis的源码分析笔记
- k-means聚类的传统算法和优化