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 ...
随机推荐
- QEMU VCPU热插特性
最近学习QEMU中VCPU热插特性,需要了解QEMU中VCPU热插的整个流程,VCPU热插是QEMU主板的一个feature. 1:这里先分析一下QEMU的主板模拟,主板在QEMU的设备模型中对应的是 ...
- PL/SQL存储过程编程
PL/SQL存储过程编程 /**author huangchaobiao *Email:huangchaobiao111@163.com */ PL/SQL存储过程编程(上) 1. Oracle应用编 ...
- 【ueditor】api方法
//让其选中文本高亮 editor.selection.getRange().select(); //高亮后,才能获取到选中文本,当选中字失去焦点的情况下是获取不到的选中文本的 var text = ...
- Wrong list
1.背包dp[i][j]无论当前物品是否不大于j都可以转移dp[i-1][j] 2.循环从0开始还是1开始的问题 3.无向图边集数组开两倍 4.(3*987654321) > maxint 4. ...
- 2 column数据构成主键的表转化为1 column为主键的表
问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93张三 德语 null李四 语文 74李四 数学 84李四 物理 94李四 英语 80想变成(得到如 ...
- 元素堆叠问题、z-index、position
多次在项目中遇到html页面元素的非期待重叠错误,多数还是position定位情况下z-index的问题.其实每次解决类似问题思路大致都是一样的,说到底还是对z-index的理解比较模糊,可以解决问题 ...
- Activity系列讲解---Activity运行时的屏幕方向,全屏,窗体模式的设置
Android内置了方向感应器的支持.Android会根据所处的方向自动在竖屏与横屏间切换.但是有的应用程序只能在横/竖屏时运行,比如某些游戏,此时我们要锁定该Activity运行时的屏幕方向,< ...
- 最新版 chrome 33中,backgroundPosition 改了.
ctrl.css('backgroundPosition' 返回值不一样, 原来是:-75px 0px 现在是:left 75px top 0px // chrome 33 返回的是 left 0px ...
- 《转载》GET,POST,PUT,DELETE的区别
本文转载自:转载请说明出处,谢谢[hyddd(http://www.cnblogs.com/hyddd/)] Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT, ...
- 简化MSI在WIN10的安装
这里给大家分享一个简化MSI安装的工具 InstallByDrag: 在win10系统中,通过双击方式打开 MSI 安装文件,可能被提示由于dll加载问题无法安装,这是由于没有使用管理员权限运行.而M ...