一: 执行不带返回参数(Input)的存储过程
1: 首先在数据库写个存储过程, 如创建个 addUser存储过程。
Create Proc addUser
@ID int,
@Name varchar(20),
@Sex varchar(20)
As
Insert Into Users Values( @ID, @Name,@Sex )
2:创建SqlCommand对象,并初始SqlCommand对象 如:
SqlCommand cmd = new SqlCommand( );
cmd.CommandText = "addUser"; //制定调用哪个存储过程
cmd.CommandType = CommandType.StoredProcedure; // 制定Sql命令类型是存储过程, 默认的为Sql语句。
cmd.Connection = con; // 设定连接
3:向SqlCommand对象添加存储过程参数
SqlParameter param = new SqlParameter( ); //定义一个参数对象
param.ParameterName = "@ID"; //存储过程参数名称
param.Value = txtID.Text.Trim(); // 该参数的值
cmd.Parameters.Add( param ); // SqlCommand对象添加该参数对象
param = new SqlParameter( "@Name", txtName.Text.Trim() ); // 简写方式
cmd.Parameters.Add( param );
4:SqlCommand对象调用执行Sql的函数。 如:
cmd.ExecuteNonQuery();
二:执行带返回参数(Output)的存储过程
1: 首先在数据库写个存储过程, 如创建个 queryUser存储过程。
alter Proc queryUser
@ID int,
@Suc varchar(10) output
As
select @Suc= 'false'
if exists( Select * From users where u_id = @ID )
select @Suc = 'success'
2:创建SqlCommand对象,并初始SqlCommand对象 如:
SqlCommand cmd = new SqlCommand( );
cmd.CommandText = "queryUser"; //制定调用哪个存储过程
cmd.CommandType = CommandType.StoredProcedure; // 制定Sql命令类型是存储过程, 默认的为Sql语句。
cmd.Connection = con; // 设定连接
3:向SqlCommand对象添加存储过程参数
SqlParameter param1 = new SqlParameter( "@ID", txtID.Text ); // 添加输入参数
cmd.Parameters.Add( param1 );
SqlParameter param2 = new SqlParameter(); // 添加输出参数
param2.ParameterName = "@Suc"; // 名称
param2.SqlDbType = SqlDbType.VarChar; // 输出参数的Sql类型
param2.Size = 10;// 输出参数的Sql类型大小
param2.Direction = ParameterDirection.Output; //指定该参数对象为输出参数类型
cmd.Parameters.Add( param2 );
4:SqlCommand对象调用执行Sql的函数。 如:
cmd.ExecuteNonQuery();
MessageBox.Show( param2.Value.ToString() ); // 输出输出参数的值
输入参数的存储过程的示例:
try
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "addUser";
SqlParameter param = new SqlParameter( );
param.ParameterName = "@ID";
param.Value = txtID.Text.Trim();
cmd.Parameters.Add( param );
param = new SqlParameter( "@Name", txtName.Text.Trim() );
cmd.Parameters.Add( param );
param = new SqlParameter();
param.ParameterName = "@Sex";
param.Value = txtSex.Text.Trim();
cmd.Parameters.Add( param );
//da.InsertCommand = cmd;
if ( cmd.ExecuteNonQuery() == 1 )
{
MessageBox.Show( "添加成功" );
}
else
{
MessageBox.Show("失败");
}
}
catch( SqlException ex )
{
MessageBox.Show( ex.Message );
}
输出参数的存储过程的示例:
try
{
SqlCommand cmd = new SqlCommand( );
cmd.CommandText = "queryUser";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
SqlParameter param1 = new SqlParameter( "@ID", txtID.Text );
cmd.Parameters.Add( param1 );
SqlParameter param2 = new SqlParameter();
param2.ParameterName = "@Suc";
param2.SqlDbType = SqlDbType.VarChar;
param2.Size = 10;
param2.Direction = ParameterDirection.Output;
cmd.Parameters.Add( param2 );
cmd.ExecuteNonQuery();
MessageBox.Show( param1.Value.ToString() );
MessageBox.Show( param2.Value.ToString() );
}
catch( SqlException ex )
{
MessageBox.Show( ex.Message );
}
分享到:
相关推荐
用ADO.NET调用存储过程,ppt,无参及带参存储过程及其调用.
ASP(ADO).NET调用存储过程
ADO.NET调用存储过程,有ppt、sql。包括无参和带参存储过程的编写及其调用。学习之用。一通百通。有ADO.NET和SQL的基础知识更容易看懂。
ADO.NET调用SQL Server存储过程,有参无参,传入传出
使用 ADO.NET 和 C# .NET 调用带参数的存储过程
将存储过程用于命令:描述如何使用 Command 对象来调用存储过程,并提供有关发送和检索参数值的信息。 从数据库中获取单个值:描述如何使用 Command 从数据库查询中返回单个值。 从数据库中获取 BLOB 值:描述如何...
支持调用存储过程并根据查询结果动态映射。支持自动化的事务处理,可自动回滚。支持一对多的映射关系,即一个实体类可以映射到多张表。支持自动填充/补全数据实体类中的数据。支持DataSet、DataTable、DataRow多种...
网上有很多文章都有参考,但是很多再关键的地方都没有描述清楚,
应用程序直接调用带有事务的存储过程 当需要同时执行多条SQL更新语句时 使用ADO.NET专用的事务处理对象 编写通用的数据访问方法 ADO.NET中使用事务 C#中所编写的所有的事务都是通过SQL代码进行的编辑,但是在C#环境...
第11章 通过 Microsoft ADO.NET 调用存储过程 第12章 读写 XML 数据 第13章 使用和创建 XML Web Service 第14章 状态管理 第15章 配置、优化和部署 Microsoft ASP.NET Web 应用程序 第16章 Web 安全性介绍 第17章 ...
asp.net实现oracle存储过程增删改查示例 (1)三层架构实现 (2)oracle存储过程实现增删改查 (3)oracle sql语句实现增删改查 (4)asp.net代码调用 (5)ibatis框实现增删改查 我在公司学习了一个星期的作品,...
简单的Ado.net数据访问客户端。 数据库访问入口 获取IDbClient 在开始之前,先添加一个数据库访问入口。当然,也可以使用任何你喜欢的方式来创建IDbClient(的实现类)实例。 public static class Db { private...
调用存储过程;更新数据库记录;Repeater和DataList控件;自定义ASP.NET控件;Web服务概观;创建和消费一个用于证券报价机的Web服务示例;解释ASP.NET缓存技术;ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中...
调用存储过程;更新数据库记录;repeater和datalist控件;自定义asp.net控件;web服务概观;创建和消费一个用于证券报价机的web服务示例;解释asp.net缓存技术;asp.net中用于验证、授权和模拟的安全选项;asp.net中...
调用存储过程;更新数据库记录;Repeater和DataList控件;自定义ASP.NET控件;Web服务概观;创建和消费一个用于证券报价机的Web服务示例;解释ASP.NET缓存技术;ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中...
调用存储过程;更新数据库记录;repeater和datalist控件;自定义asp.net控件;web服务概观;创建和消费一个用于证券报价机的web服务示例;解释asp.net缓存技术;asp.net中用于验证、授权和模拟的安全选项;asp.net中...
调用存储过程;更新数据库记录;repeater和datalist控件;自定义asp.net控件;web服务概观;创建和消费一个用于证券报价机的web服务示例;解释asp.net缓存技术;asp.net中用于验证、授权和模拟的安全选项;asp.net中...
本实例使用VS2017编译,实现ADO.NET、EF调用可传参数SqlServer存储过程(可传参)。
ADO.NET Micro-ORM到SQL Server。 首先,人们希望保存一个对象图以便一次访问数据库: 客户端上的一条命令, 一个向应用程序服务器的请求, 一种访问数据库。 从而找到了一种的方法。 然后,人们希望对对象...
调用存储过程;更新数据库记录;Repeater和DataList控件;自定义ASP.NET控件;Web服务概观;创建和消费一个用于证券报价机的Web服务示例;解释ASP.NET缓存技术;ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中...