欢迎来到天天文库
浏览记录
ID:14617183
大小:26.00 KB
页数:4页
时间:2018-07-29
《c#两种不同的存储过程调用方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C#两种不同的存储过程调用方法C#两种不同的存储过程调用方法===========================================================作者:xxdxxdxxd(http://xxdxxdxxd.itpub.net)发表于:2007.01.0915:23分类:Programming出处:http://xxdxxdxxd.itpub.net/post/27246/249133--------------------------------------------
2、-------------------两种不同的存储过程调用方法为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的“官方”方法。另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后不再一一说明。本文所有例子均采用C#语言。 要在应用程序中访问数据库,一般性的步骤是:首先声明一个数据库连接SqlConnection,然后声明一个数据库命令SqlCommand,用来执行SQL语句和存储过程。有了这两个对象后,就可以根据自己的需要采用不同的执行方式达到目的。需要补充的是
3、,不要忘记在页面上添加如下的引用语句:usingSystem.Data.SqlClient。 就执行存储过程来说,如果执行的是第一类存储过程,那么就要用一个DataAdapter将结果填充到一个DataSet中,然后就可以使用数据网格控件将结果呈现在页面上了;如果执行的是第二和第三种存储过程,则不需要此过程,只需要根据特定的返回判定操作是否成功完成即可。(1)执行一个没有参数的存储过程的代码如下:SqlConnectionconn=newSqlConnection(“connectionString
4、”);SqlDataAdapterda=newSqlDataAdapter();da.SelectCommand=newSqlCommand();da.SelectCommand.Connection=conn;da.SelectCommand.CommandText="NameOfProcedure";da.SelectCommand.CommandType=CommandType.StoredProcedure; 然后只要选择适当的方式执行此处过程,用于不同的目的即可。 (2)执行一个有参数的
5、存储过程的代码如下(我们可以将调用存储过程的函数声明为ExeProcedure(stringinputdate)):SqlConnectionconn=newSqlConnection(“connectionString”);SqlDataAdapterda=newSqlDataAdapter();da.SelectCommand=newSqlCommand();da.SelectCommand.Connection=conn;da.SelectCommand.CommandText="NameOfP
6、rocedure";da.SelectCommand.CommandType=CommandType.StoredProcedure;(以上代码相同,以下为要添加的代码)param=newSqlParameter("@ParameterName",SqlDbType.DateTime);param.Direction=ParameterDirection.Input;param.Value=Convert.ToDateTime(inputdate);da.SelectCommand.Parameter
7、s.Add(param); 这样就添加了一个输入参数。若需要添加输出参数:param=newSqlParameter("@ParameterName",SqlDbType.DateTime);param.Direction=ParameterDirection.Output;param.Value=Convert.ToDateTime(inputdate);da.SelectCommand.Parameters.Add(param); 若要获得参储过程的返回值:param=newSqlParame
8、ter("@ParameterName",SqlDbType.DateTime);param.Direction=ParameterDirection.ReturnValue;param.Value=Convert.ToDateTime(inputdate);da.SelectCommand.Parameters.Add(param); 从上面的代码我们可以看出,当存储过程比较多或者存储过程的参数比较多时,这种方法会大大影响开发的速度;另外一方面,如果
此文档下载收益归作者所有