c#中调用输入输出参数的存储过程

上传人:xiao****1972 文档编号:84136290 上传时间:2019-03-02 格式:DOCX 页数:3 大小:14.76KB
返回 下载 相关 举报
c#中调用输入输出参数的存储过程_第1页
第1页 / 共3页
c#中调用输入输出参数的存储过程_第2页
第2页 / 共3页
c#中调用输入输出参数的存储过程_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《c#中调用输入输出参数的存储过程》由会员分享,可在线阅读,更多相关《c#中调用输入输出参数的存储过程(3页珍藏版)》请在金锄头文库上搜索。

1、C#中调用输入输出参数的存储过程关于存储过程的介绍大家想必也不陌生了吧。大家可以参考浅谈存储过程一文,这里不做介绍。 今天要介绍的是在C#里如何调用带输入输出参数的存储过程。譬如实现简单的登陆功能,根据用户输入的用户名、用户密码及用户权限实现登陆。这里充当输入参数的有:用户名、用户密码、登陆权限。充当输出参数的就是在数据库里面根据输入参数的信息查询数据库中是否有记录。具体来说就是记录的行数。数据库中的存储过程构建代码:Code1use Hotel -数据库名2if exists(select * from sysobjects where name=proc_userinfo)-判断是否存在存

2、储过程3drop proc proc_userinfo -若存在删除此存储过程4go5-创建存储过程6create proc proc_userinfo7username varchar(50),-输入参数8pwd varchar(50),-输入参数9grade varchar(20),-输入参数10count intoutput -输出参数output不能少11-sql语句12as13select count=count(*) from userinfo where username=username and pwd=pwd and grade=grade14go151617执行存储过程18

3、declare n int19exec proc_userinfo admin,123,管理员,n output20-output不能少21print n22go数据访问层代码Code1/调用存储过程执行类似于2/select count(*) from userinfo where username=username and pwd=pwd and grade=grade3/接受三个参数分别用来表示用户名、用户密码、用户权限4public bool GetUserinfo(string username,string pwd,string grade)56/获取连接字符串7private s

4、tring connstring = ConfigurationManager.ConnectionStringsconnstring.ToString();8int n = 0;/查询后返回的行数保存存储过程中的输出参数9/创建连接对象 using代码片段好处在于离开作用域后立刻从内存中释放对象10using (SqlConnection con=new SqlConnection(connstring)1112con.Open();/打开数据库连接13using (SqlCommand cmd=new SqlCommand(proc_userinfo,con)1415/什么作用不记得了只记

5、得调用存储过程该语句不能少16cmd.CommandType = CommandType.StoredProcedure;17/添加存储过程输入输出参数类型及输入参数值18cmd.Parameters.Add(username, SqlDbType.VarChar, 50).Value=username;19cmd.Parameters.Add(pwd, SqlDbType.VarChar, 50).Value=pwd;20cmd.Parameters.Add(grade, SqlDbType.VarChar, 50).Value=grade;21cmd.Parameters.Add(coun

6、t, SqlDbType.Int);22cmd.Parametersusername.DbType = DbType.String;23/指定参数类型是输入参数还是输出参数24cmd.Parametersusername.Direction = ParameterDirection.Input;25cmd.Parameterspwd.DbType = DbType.String;26/指定参数类型是输入参数还是输出参数27cmd.Parameterspwd.Direction = ParameterDirection.Input;28cmd.Parametersgrade.DbType = D

7、bType.String;29/指定参数类型是输入参数还是输出参数30cmd.Parametersgrade.Direction = ParameterDirection.Input;31cmd.Parameterscount.DbType = DbType.Int32;32/指定参数类型是输入参数还是输出参数33cmd.Parameterscount.Direction = ParameterDirection.Output;34/执行存储过程 此处类似于查询语句35cmd.ExecuteScalar();36/接受执行存储过程后的返回值37n = (int)cmd.Parametersco

8、unt.Value;38/根据返回值判断数据库中是否存在对应用户名密码及用户权限的记录39if (n=1)4041return true;4243else4445return false;46474849至于业务逻辑层及表示层这里就不做介绍了,想必大家都知道该怎么写了。 注:这里补充点关于清空DataGradeView中所有数据的方法Code1/用dataGradeView.DataSource dataGradeView的数据源创建一个DataTable 对象 需要强转成DataTable23 DataTable dt=(DataTable )dataGradeView.DataSource;4 /dataGradeView为具体的dataGradeView56 dt.Rows.Clean();/删除表中的行78 dataGradeView.DataSource=dt;9/再把dt绑定到dataGradeView上即可10

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号