博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#调用SQL Server参数过程传参
阅读量:6614 次
发布时间:2019-06-24

本文共 2381 字,大约阅读时间需要 7 分钟。

-SQL SERVER生成测试环境:

Create database Test; goUSE [Test]GOif OBJECT_ID('Tab2','U') is not null	drop table Tab2goCREATE TABLE [dbo].[Tab2](	[ID] [int] IDENTITY(1,1) NOT NULL,	[TabID] [int] NOT NULL,	[Name2] [nvarchar](50) NULL) GOSET IDENTITY_INSERT [dbo].[Tab2] ON GOINSERT [dbo].[Tab2] ([ID], [TabID], [Name2]) VALUES (1, 245575913, N'ID')GOINSERT [dbo].[Tab2] ([ID], [TabID], [Name2]) VALUES (2, 245575913, N'name')GOINSERT [dbo].[Tab2] ([ID], [TabID], [Name2]) VALUES (3, 277576027, N'ID')GOINSERT [dbo].[Tab2] ([ID], [TabID], [Name2]) VALUES (4, 277576027, N'Name2')GOINSERT [dbo].[Tab2] ([ID], [TabID], [Name2]) VALUES (5, 277576027, N'TabID')GOSET IDENTITY_INSERT [dbo].[Tab2] OFFGOif OBJECT_ID('P2','P') is not null	drop procedure P2goCreate procedure P2(@StartID int,@EndID int,@Rowcount int output)asselect * from Tab2 where ID between @StartID and @EndIDset @Rowcount=@@ROWCOUNTgo
--打开Visual Studio—创建项目—选择【控制台应用程序】

#region Using Directivesusing System;using System.Data;using System.Data.SqlClient;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;#endregionnamespace TestExecute{    class Program    {        static void Main(string[] args)        {            SqlConnection thisConnection = new SqlConnection(@"Server=(Local);Database=Test;User ID=sa;Password=1");            thisConnection.Open();            SqlCommand thisCommand = thisConnection.CreateCommand();            thisCommand.CommandType = CommandType.StoredProcedure;            thisCommand.CommandText = "P2";            IDataParameter[] parameters = {                new SqlParameter("@StartID",SqlDbType.Int),                new SqlParameter("@EndID",SqlDbType.Int),                new SqlParameter("@Rowcount",SqlDbType.Int),                new SqlParameter("return_value",SqlDbType.Int)            };            parameters[0].Value = "1";            parameters[1].Value = "5";            parameters[2].Direction = ParameterDirection.Output;            parameters[3].Direction = ParameterDirection.ReturnValue;            thisCommand.Parameters.AddRange(parameters);            thisCommand.ExecuteNonQuery();            thisConnection.Close();            Console.WriteLine("@Rowcount:{0}\nReturn_value:{1}",parameters[2].Value,parameters[3].Value);            Console.ReadKey();        }    }}

--按F5运行结果:

转载于:https://www.cnblogs.com/wuxi88/p/5466728.html

你可能感兴趣的文章
Net高并发解决思路
查看>>
Log4Net 生成多个文件、文件名累加解决方法
查看>>
ARMS 公有云 发布 V2.3.1版本, 新增 应用监控功能 等重磅功能。
查看>>
Oracle中REGEXP_SUBSTR函数
查看>>
Xamarin.Android开发实践(十三)
查看>>
如果你建造了一个精良的模型却没人用,你肯定不会得到赞誉(转)
查看>>
Bootstrap<基础三> 排版
查看>>
【Cocos2d-x】开发基础-Cocos简介与环境搭建
查看>>
SQL查询性能分析
查看>>
Json——js和C#对Json的操作
查看>>
oracle 包,函数,过程,块的创建和执行及在java中执行(转)
查看>>
CloudDBA现场助力双十一
查看>>
Finding awesome developers in programming interviews(转)
查看>>
虚拟现实技术或会产生副作用
查看>>
[Spring Boot 系列] 集成maven和Spring boot的profile 专题
查看>>
【云图】如何设置微信里的全国实体店地图?
查看>>
ZOJ(ZJU) 1002 Fire Net(深搜)
查看>>
专访三桐:阿里人工智能搜索应用的交互式未来
查看>>
Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招
查看>>
京东众筹上线仅2天完成目标 可编程机器人HEXA降低机器人开发门槛
查看>>