SqlServer和MySQL中存储过程out返回值处理C#代码

1.SqlServer中out处理 C#代码

  #region"SqlServer中存储过程处理out返回值"
        //public void getdata()
        //{
        //    string str = " server=192.168.xxxx ;user id=xxx;[email protected]#;database=xxxxx_db;min pool size=4;max pool size=4;packet size=3072";
        //    SqlConnection conn = new SqlConnection(str);
        //    conn.Open();

        //    SqlCommand cmd = new SqlCommand();
        //    cmd.CommandType = CommandType.StoredProcedure;
        //    cmd.CommandText = "sp_xxxxxx";
        //    cmd.Parameters.Add("@xxxx", SqlDbType.Int);
        //    //注意输出参数要设置大小,否则size默认为0,
        //    cmd.Parameters.Add("@FLAG", SqlDbType.Int);
        //    //设置参数的类型为输出参数,默认情况下是输入,
        //    cmd.Parameters["@FLAG"].Direction = ParameterDirection.Output;
        //    //为参数赋值
        //    cmd.Parameters["@xxxx"].Value = 81;
        //    cmd.Connection = conn;
        //    //执行
        //    cmd.ExecuteNonQuery();
        //    //得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换
        //    string  name = cmd.Parameters["@FLAG"].Value.ToString();

        //    Response.Write(name);

        //}
        #endregion

2.mysql 中 out C#代码

 #region"MySQL中存储过程处理out返回值"
        /*
        public void getdata()
        {
            string str = "Server=192.168.xxx;Database=xxxxx_db; port=xxxx;user id=xxxxx;password=  providerName=MySql.Data.MySqlClient";
            MySqlConnection  conn = new MySqlConnection (str);
            conn.Open();

            MySqlCommand cmd = new MySqlCommand();
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "sp_xxxxx";
            cmd.Parameters.Add("_xxxx", MySqlDbType.Int32, 11);
            //注意输出参数要设置大小,否则size默认为0,
            cmd.Parameters.Add("_FLAG", MySqlDbType.Int32, 11);
            //设置参数的类型为输出参数,默认情况下是输入,
            cmd.Parameters["_FLAG"].Direction = ParameterDirection.Output;
            //为参数赋值
            cmd.Parameters["_xxxxx"].Value = 81;
            cmd.Connection = conn;
            //执行
            cmd.ExecuteNonQuery();
            //得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换
            string name = cmd.Parameters["_FLAG"].Value.ToString();

            Response.Write(name);

        }*/

  

SqlServer和MySQL中存储过程out返回值处理C#代码

时间: 2024-08-01 18:03:05

SqlServer和MySQL中存储过程out返回值处理C#代码的相关文章

利用SQLServer查询分析器获取存储过程的返回值,检查测试存储过程

1.存储过程没有返回值的情况(即存储过程语句中没有return之类的语句)用方法 int count = ExecuteNonQuery(..)执行存储过程其返回值只有两种情况(1)如果通过查询分析器执行该存储过程,在显示栏中如果有影响的行数,则影响几行count就是几(2)如果通过查询分析器执行该存储过程,在显示栏中如果显示'命令已成功完成.'则count = -1;在显示栏中如果有查询结果,则count = -1总结:A.ExecuteNonQuery()该方法只返回影响的行数,如果没有影响

在Delphi中如何获得SQL中存储过程的返回值?

示例存储过程:create procedure proc_loginusername varchar(20),password varchar(20)asdeclare @result intselect @result=count(*) from loginuser where [email protected] and [email protected]if @result=0return 0return 1go Delphi代码:var ret:integer;......      wi

SqlServer 获得存储过程的返回值(参数返回),别玩了output

declare @dingdanid int declare @fanhuizhi int set @dingdanid = 1 exec 检测订单出库资格 @dingdanid ,@fanhuizhi output   (注意别忘了output否则返回值是NULL) select @fanhuizhi create proc dbo.检测订单出库资格 @dingdanID int,     @returnValue int output as -- 输入变量 订单编号 set @returnV

Entity Framework中对存储过程的返回值的处理

很早就开始注意到EF了,但一直没有机会用,换了工作后,第一个项目就使用EF6进行开发. 项目不是很大,EF完全可以胜任. 但是开发过程中,难免还是会遇到一些复杂的运算,需要频繁访问数据库. 此时,想到的比较简单的方式,就是使用存储过程,在存储过程中进行一定的运算,然后把运算的结果(一个查询结果)通过存储过程返回. 思路上完全没有问题,就直接建了一个存储过程,然后更新edmx.发现,更新后,EF中,生成的对这个存储过程的调用,返回结果却是“Int”??? 之前也有做过通过存储过程返回值,都是返回一

MySQL 中存储过程的使用

关于 MySQL 的存储过程,我所了解的一些有规模的公司,对于使用存储过程实现业务逻辑都有严格的限制.我这里搜罗了一些资料,结合自身的经验,总结一些自己关于 MySQL 中存储过程使用的认识.由于水平有限,如有纰漏错误,还请多拍砖. 存储过程的优点主要包括以下几点: 1. 性能提高.相对于不使用存储过程来说的,因为存储过程在创建的时候,数据库已经对其进行了一次解析和优化,而后每次调用都不会再次编译,这相对于传统的SQL语句中每次调用都需要编译的情况来说,性能有所提高,存储过程经过编译之后会比单独

B-Tree索引在sqlserver和mysql中的应用

在谈论数据库性能优化的时候,通常都会提到“索引”,但很多人其实并没有真正理解索引,也没有搞清楚索引为什么就能加快检索速度,以至于在实践中并不能很好的应用索引.事实上,索引是一种廉价而且十分有效的优化手段,设计优良的索引对查询性能提升确实能起到立竿见影的效果. 相信很多读者,都了解和使用过索引,可能也看过或者听过”新华字典“.”图书馆“之类比较通俗描述,但是对索引的存储结构和本质任然还比较迷茫. 有数据结构和算法基础的读者,应该都学过或者写过“顺序查找,二分查找(折半)查找,二叉树查找”这几种很经

将存储过程的返回值赋给变量

1.OUPUT参数返回值 复制代码代码如下: CREATE PROCEDURE [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint OUTPUT)ASBEGINSET NOCOUNT ON;BEGININSERT INTO [Order](o_buyerid )VALUES (@o_buyerid )SET @o_id = @@IDENTITYENDEND 存储过程中获得方法: 复制代码代码如下: DECLARE @o_buyerid int

mysql中的null字段值的处理及大小写问题

在MySQL中,NULL字段的处理,需要注意,当在处理查询条件中有NULL,很有可能你得到的值不是想要的,因为,在MySQL中,判断NULL值相等(=)或者不等(!=)都会返回false.主要出现在常见的SELECT以及WHERE字句中. 为了处理这种特殊的情况,MySQL提供了如下的关键字进行特殊处理: IS NULL: 当列的值是NULL,此运算符返回true. IS NOT NULL: 当列的值不为NULL, 运算符返回true. <=>: 比较操作符(不同于=运算符),当比较的的两个值

一篇博客分清shell中的状态返回值-return-break-continue-exit

一篇博客分清shell中的状态返回值-return-break-continue-exit 一.break.continue.exit.return的区别和对比 条件与循环控制及程序返回值命令知识表 命令 说明 break n 如果省略n,则表示跳出整个循环,n表示跳出循环的层数 continue n 如果省略n,则表示跳出本次循环,忽略本次循环剩余代码,进入循环的下一次循环.n表示退到第n层继续循环 exit n 表示退出当前shell程序,n为上一次程序执行的状态返回值,n也可以省略,在下一