sql: MySQL and Microsoft SQL Server Stored Procedures IN, OUT using csharp code

MySQL存储过程:

#插入一条返回值涂聚文注
DELIMITER $$ DROP PROCEDURE IF EXISTS `geovindu`.`proc_Insert_BookKindOut` $$ CREATE PROCEDURE `geovindu`.`proc_Insert_BookKindOut` (IN param1Name NVarChar(1000),IN param1Parent Int,OUT ID INT) BEGIN IF NOT EXISTS (SELECT * FROM BookKindList WHERE BookKindName=param1Name) then #如果存在相同的记录,不添加 INSERT INTO BookKindList (BookKindName,BookKindParent)VALUES(param1Name ,param1Parent); #set ID=Last_insert_id() SELECT LAST_INSERT_ID() into ID; end if; END $$ DELIMITER ;

Microsoft SQL Server存储过程

--插入一条返回值涂聚文注
IF EXISTS (SELECT * FROM sysobjects WHERE [name] = ‘proc_Insert_BookKindOut‘) DROP PROCEDURE proc_Insert_BookKindOut GO CREATE PROCEDURE proc_Insert_BookKindOut ( [email protected] Int, @BookKindName NVarChar(1000), @BookKindCode varchar(100), @BookKindParent Int, @BookKindID int output ) AS IF NOT EXISTS (SELECT * FROM BookKindList WHERE [BookKindName][email protected]) BEGIN INSERT INTO BookKindList ( [BookKindName] , [BookKindCode], [BookKindParent] ) VALUES ( @BookKindName , @BookKindCode, @BookKindParent ) select @[email protected]@IDENTITY END GO

  csharp 读取MySQL存储过程:

 /// <summary>
        /// 追回返回值涂聚文注
        /// </summary>
        /// <param name="bookKindList"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public int InsertBookKindOut(BookKindListInfo bookKindList,out int id)
        {
            int ret = 0;
            int tid = 0;
            try
            {
                MySqlParameter[] par = new MySqlParameter[]{
				new MySqlParameter("?param1Name",MySqlDbType.VarChar,1000),
				new MySqlParameter("?param1Parent",MySqlDbType.Int32,4),
                new MySqlParameter("?ID",MySqlDbType.Int32,4),
				};
                par[0].Value = bookKindList.BookKindName;
                par[1].Value = bookKindList.BookKindParent;
                par[2].Direction = ParameterDirection.Output;
                ret = MySqlHelpDu.ExecuteSql("proc_Insert_BookKindOut", CommandType.StoredProcedure, par);
                if (ret > 0)
                {
                    tid = (int)par[2].Value;
                }
            }
            catch (MySqlException ex)
            {
                throw ex;
            }
            id = tid;

            return ret;
        }

  

csharp 读取Microsoft SQL Server存储过程

        /// <summary>
        /// 追加记录返回值
        /// </summary>
        /// <param name="bookKindList"></param>
        /// <param name="iout"></param>
        /// <returns></returns>
        public int InsertBookKindOut(BookKindListInfo bookKindList,out int iout)
        {
            int ret = 0;
            int tou = 0;
            try
            {
                SqlParameter[] par = new SqlParameter[]{
				new SqlParameter("@BookKindName",SqlDbType.NVarChar,1000),
				new SqlParameter("@BookKindParent",SqlDbType.Int,4),
                new SqlParameter("@BookKindID",SqlDbType.Int,4),
				};
                par[0].Value = bookKindList.BookKindName;
                par[1].Value = bookKindList.BookKindParent;
                par[2].Direction = ParameterDirection.Output;
                ret = DBHelper.ExecuteSql("proc_Insert_BookKindOut", CommandType.StoredProcedure, par);
                if (ret > 0)
                {
                    tou =(int)par[2].Value;
                }
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            iout = tou;
            return ret;
        }

  

时间: 2024-10-12 09:17:53

sql: MySQL and Microsoft SQL Server Stored Procedures IN, OUT using csharp code的相关文章

[SQL] mysql报错 The server time zone value...

MySQL 报错: The server time zone value '?D1ú±ê×?ê±??' is unrecognized or represents more than one time zone. 解决方法是更改时区: show variables like '%time_zone%'; set global time_zone '+08:00'; 原文地址:https://www.cnblogs.com/wanyi/p/10327540.html

SQL Server :Stored procedures存储过程初级篇

对于SQL Server,我是个拿来主义.很多底层的原理并不了解,就直接模仿拿着来用了,到了报错的时候,才去找原因进而逐步深入底层.我想,是每一次的报错,逼着我一点点进步的吧. 近期由于项目的原因,我需要写一些存储过程.同时学校还开了一门<数据库系统>的课程.两者结合满足了我浓厚的兴趣. 下面写写我对存储过程的简单认识. 一.基础知识: 1.select,insert,update,delete 的语法 ,这是核心中的核心 2.一点点的编程基础:了解基本的控制流程语言,如if...else,w

如何將 MySQL 資料庫轉移到 Microsoft SQL Server 與 Azure SQL Database

MySQL 是相當常用之資料庫伺服器,而微軟雲端服務 Microsoft Azure 上 Azure SQL Database 是一個功能強大且經濟實惠的選擇,透過本篇文章,使用 SQL Server Migration Assistant ( 以下簡稱 : SSMA ) 利用幾個簡單的步驟,可將您的 MySQL 資料庫移轉到  Microsoft SQL Server 或是 Azure SQL Database 上. SQL Server 移轉小幫手 SSMA 支援多種架構的資料庫 (Syba

P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1

P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1       May 2016 Contents About This Guide...................................................................................... 11 Shared Topics in This Guide .

MySQL导入导出.sql文件及常用命令

MySQL导入导出.sql文件及常用命令 在MySQL Qurey   Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令: mysql> source   c:\\test.sql; 另附mysql常用命令: 一) 连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL 首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:/mysql/bin,再键入命令my

MySQL执行外部sql脚本文件命令报错:unknown command &#39;\&#39;

由于编码不一致导致的 虽然大部分导出是没有问题的 但是数据表中存储包含一些脚本(富文本内容)会出现该问题,强制指定编码即可解决. mysql导入时指定编码: mysql -u root -p --default-character-set=utf8 或者在导出时后显式指定编码就不存在这个问题了: mysqldump -uroot -p --default-character-set=utf8 mydb > E://xxxx.sql MySQL执行外部sql脚本文件命令报错:unknown com

Guide to Database Migration from Microsoft SQL Server using MySQL Workbench

http://mysqlworkbench.org/2012/07/migrating-from-ms-sql-server-to-mysql-using-workbench-migration-wizard/ http://www.mysql.com/products/workbench/migrate/ Guide to Database Migration from Microsoft SQL Server using MySQL Workbench

Microsoft SQL Server Version List(SQL Server 版本)

原帖地址 What version of SQL Server do I have? This unofficial build chart lists all of the known Service Packs (SP), Cumulative Updates (CU), patches, hotfixes and other builds of MS SQL Server 2014, 2012, 2008 R2, 2008, 2005, 2000, 7.0, 6.5 and 6.0 tha

使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务

使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务 作者:Nikolay Manchev 分步构建一个跨这些平台的简单事务复制示例. 2011 年 8 月发布 大多数关注数据复制的 Oracle 技术专家都熟悉 Oracle Streams.在 2009 年之前,Streams 一直是推荐使用的最流行的 Oracle 数据分发技术. 2009 年 7 月,Oracle 收购了 GoldenGate 这一数据库复