网站大量收购独家精品文档,联系QQ:2885784924

在C中使用存储过程.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在C#中使用存储过程 本文以Sql Server2000为例,示例数据库为china,表为test,来说明以C#中使用sql存储过程的方法。 一、test表的创建sql语句: create table test55 ( uid int identity(1,1), class1 varchar(20), class2 varchar(20), uname varchar(20), birth smalldatetime, meno varchar(50) ) alter table test55 add constraint primary_id? primary key(uid) 二、创建一个有输入、输出、返回值参数的存储过程: create proc proc_out @uid int,@output varchar(200) output as --select结果集 select * from test where uid@uid --对输出参数进行赋值 set @output=记录总数:+convert(varchar(10),(select count(*) from test)) --使用return,给存储过程一个返回值。 return 200; go 三、在C#中,操作存储过程: ??3.1 使用带有参数的sql语句 ??private void sql_param() ??{ ?? SqlConnection conn=new SqlConnection(server=.;uid=sa;pwd=1234;database=china); ?? ?? //在sql语句当中引入了@myid参数 ?? string sql=select * from test where uid@myid; ?? SqlCommand comm=new SqlCommand(sql,conn); ????????? ?? //使用comm的Parameters属性的add方法,对上述的@myid参数进行定义和赋值 ?? //SqlDbType类提供了与SqlServer数据类型一致的数据库类型 ?? SqlParameter sp=comm.Parameters.Add(@myid,SqlDbType.Int); ?? sp.Value=10;//对输入参数赋值 ???? ?? //Command对象默认的执行方式为Text,不写下句亦可 ?? comm.CommandType=CommandType.Text; ?? ?? //将Command对象作为DataAdapter的参数传进 ?? SqlDataAdapter da=new SqlDataAdapter(comm); ?? DataSet ds=new DataSet(); ?? da.Fill(ds); ???????? //绑定数据到DataGrid1控件上 ?? this.DataGrid1.DataSource=ds; ?? this.DataGrid1.DataBind(); ?? ??} ?? 3.2 存储过程的使用标准版??? private void sql_proc() ??{ ???? ??? ???SqlConnection conn=new SqlConnection(server=.;uid=sa;pwd=1234;database=china); ???string sql=proc_out; ???SqlCommand comm=new SqlCommand(sql,conn); ??? ???//把Command执行类型改为存储过程方式,默认为Text。 ???comm.CommandType=CommandType.StoredProcedure; ???//传递一个输入参数,需赋值 ???SqlParameter sp=comm.Parameters.Add(@uid,SqlDbType.Int); ???sp.Value=10; ???//定义一个输出参数,不需赋值。Direction用来描述参数的类型 ???//Direction默认为输入参数,还有输出参数和返回值型。 ???sp=comm.Parameters.Add(@output,SqlDbType.VarChar,50); ???sp.Direction=ParameterDirection.Output; ???//定义过程的返回值参数,过程执行完之后,将把过程的返回值赋值给名为myreturn的Paremeters赋值。 ???sp=comm.Parameters.Add(myreturn,SqlDbType.Int); ???sp.Directio

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档