asp.net执行SqlServer存储过程!(详解!)
ASP.NET执行存储过程
一. 执行一个没有参数的存储过程的代码如下:
connectionString为连接字符串
SqlConnection conn=new SqlConnection(connectionString);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = conn;
//myProc存储过程的名字
da.SelectCommand.CommandText = "myProc";
da.SelectCommand.CommandType = CommandType.StoredProcedure; 二. 执行一个有参数的存储过程的代码如下
SqlConnection conn=new SqlConnection(connectionString);
SqlDataAdapter da = new SqlDataAdapter();
da.selectCommand = new SqlCommand();
da.selectCommand.Connection = conn;
da.selectCommand.CommandText = "NameOfProcedure";
da.selectCommand.CommandType = CommandType.StoredProcedure;
param = new SqlParameter("@ParameterName", SqlDbType.DateTime);
param.Direction = ParameterDirection.Input;
param.Value = Convert.ToDateTime(inputdate);
da.selectCommand.Parameters.Add(param);
若需要添加输出参数: param = new SqlParameter("@ParameterName", SqlDbType.DateTime);
param.Direction = ParameterDirection.Output;
param.Value = Convert.ToDateTime(inputdate);
da.selectCommand.Parameters.Add(param);
若要获得参储过程的返回值: param = new SqlParameter("@ParameterName", SqlDbType.DateTime);
param.Direction = ParameterDirection.ReturnValue;
param.Value = Convert.ToDateTime(inputdate);
da.selectCommand.Parameters.Add(param); try
{
//****进行数据连接****//
string conString="server=localhost;database=stuDB;uid=sa";//连接串
SqlConnection sqlConnection=new SqlConnection(conString);//创建连接对象
sqlConnection.Open();//打开连接
SqlCommand sqlCommand=new SqlCommand();//创建SqlCommand命令对象
sqlCommand.Connection=sqlConnection;//SqlCommand命令对象的连接属性赋值
sqlCommand.CommandType=CommandType.StoredProcedure;//**************命令对象的类型为执行数据库的存储过程***********
string sql = string.Format("proc_insert_stuClass");//Sql语句为数据库的存储过程
sqlCommand.CommandText=sql;//命令文本 //****设置存储过程的参数****//
SqlParameter sp1=new SqlParameter("@outcome",SqlDbType.Bit);//创建参数对象,并设置@outcome参数的类型为Bit类型
sp1.Direction=System.Data.ParameterDirection.Output;//设置此项参数的类型为输出参数
sqlCommand.Parameters.Add(sp1);//将此项参数添加到命令参数集 SqlParameter sp=new SqlParameter("@classNo",SqlDbType.VarChar);
sp.Direction=System.Data.ParameterDirection.Input;//设置此项参数的类型为输入参数
sp.Value=this.textBox1.Text;//给输入参数赋值
sqlCommand.Parameters.Add(sp); sp=new SqlParameter("@classCount",SqlDbType.Int);
sp.Direction=System.Data.ParameterDirection.Input;//设置此项参数的类型为输入参数
sp.Value=this.textBox2.Text;//给输入参数赋值
sqlCommand.Parameters.Add(sp); sp=new SqlParameter("@classTeacher",SqlDbType.VarChar);
sp.Direction=System.Data.ParameterDirection.Input;//设置此项参数的类型为输入参数
sp.Value=this.textBox3.Text;//给输入参数赋值
sqlCommand.Parameters.Add(sp); sp=new SqlParameter("@classNote",SqlDbType.VarChar);
sp.Direction=System.Data.ParameterDirection.Input;//设置此项参数的类型为输入参数
sp.Value=this.textBox4.Text;//给输入参数赋值
sqlCommand.Parameters.Add(sp); //****执行存储过程****//
sqlCommand.ExecuteNonQuery();//执行存储过程
string outcome=sp1.Value.ToString();//将输出参数的值取出
Console.WriteLine(outcome);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
asp.net执行SqlServer存储过程!(详解!)的更多相关文章
- SqlServer存储过程详解
SqlServer存储过程详解 1.创建存储过程的基本语法模板: if (exists (select * from sys.objects where name = 'pro_name')) dro ...
- SQLServer 存储过程详解
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
- mysql存储过程详解
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的S ...
- mysql 存储过程详解 存储过程
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成 ...
- MySQL存储过程详解 mysql 存储过程
原文地址:MySQL存储过程详解 mysql 存储过程作者:王者佳暮 mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储 ...
- MySQL 执行计划explain详解
MySQL 执行计划explain详解 2015-08-10 13:56:27 分类: MySQL explain命令是查看查询优化器如何决定执行查询的主要方法.这个功能有局限性,并不总会说出真相,但 ...
- MySQL存储过程详解 mysql 存储过程(二)
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL ...
- Asp.net中GridView使用详解(引)【转】
Asp.net中GridView使用详解(引) GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList ...
- mySQL的存储过程详解
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的S ...
随机推荐
- [整理]AngularJS移动端开发遇到的问题
最近在开发一个移动WebAPP的小项目,因为之前一直使用AngularJS, 对于这个项目,废话不多说,拿过来就用上了. 开发过程是一路通畅和舒服的,但是,却忽略了一个非常重要的问题,移动2G环境下的 ...
- (转)EasyUI-datagrid-自动合并单元格
1.目标 1.1表格初始化完成后,已经自动合并好需要合并的行: 1.2当点击字段排序后,重新进行合并: 2.实现 2.1 引入插件 /** * author ____′↘夏悸 * create dat ...
- Linux PXE无盘工作站
• 关于PXE无盘工作站系统的简介 PXE无盘工作站系统是指由一台或多台“系统服务器”和多台“PXE客户端(无盘工作站)”通过 交换机 相连组成的局域网系统. (图1:无盘工作站系统部署拓扑图) • ...
- Python学习笔记—Python基础1 介绍、发展史、安装、基本语法
第一周学习笔记: 一.Python介绍 1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...
- Java内部类与外部类的那些事
昨天去笔试的时候遇到了Java的内部类的创建方式与访问权限的问题,我不懂,没写,故今天起来特意去试验一下,就有了这篇总结性的文章. Java中的内部类又分为非静态内部类(匿名内部类也是非静态的内部类) ...
- 数据结构-浙大 MOOC 笔记一 基本概念
做一些笔记记录自己的学习过程 第一节课介绍了数据结构的基本概念,首先没有直接给出相关的定义而是通过思考如何在书架上摆放书籍这样一个简单的类比了解到数据的组织方式的重要性,并通过printN函数的循环实 ...
- web页面跳转的几种方式
可用客户端触发或服务端触发的方式来实现页面跳转. 客户端触发 方式一:使用Javascript 利用window.location对象的href属性.assign()方法或replace()方法来实现 ...
- python模块引用问题(比较杂乱,懒得整理)
1 在stackoverflows摘抄 If the import module in the same dir, use e.g: from . import core If the import ...
- centos 6.7 搭建tornado + nginx + supervisor的方法(已经实践)
首先,本来不想写这篇博客了,但是我测试了很多网上的例子包括简书的,全不行,我总结原因是自己太笨,搞了俩个晚上,后来决定,自己还是写一篇记录下来,保证自己以后使用 环境: centos6.7 64 py ...
- 编写高质量代码:改善Java程序的建议
建议的采用顺序是List<T>.List<?>.List<Object> List<T>.List<?>.List<Object> ...