在.NET中调用存储过程.doc_第1页
在.NET中调用存储过程.doc_第2页
在.NET中调用存储过程.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

因为做项目要用到数据库,因此存储过程是必不可少的,看了一点如何在.NET中调用存储过程的资料,颇有点心得,觉得这个东西是当用到数据库的时候必须要会的一项技术。下面是它的定义: 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。总的来说,存储过程具有以下一些优点: 存储过程允许标准组件式编程 存储过程能够实现较快的执行速度 存储过程能够减少网络流量 存储过程可被作为一种安全机制来充分利用现在我们来看看如何在.NET中调用存储过程。1:无参数的存储过程建立存储过程如下:Use librarydatabase /指定所要建的存储过程的数据库goCreate procedure p_book /新建存储过程p_bookAs select * from book where 条形码=ts100008 /SQL语句集合执行编译之后在数据库的可编程性节点里面的存储过程可以看得到!在VS2005里面新建一个控制台程序,新建一个方法如下:public void nopara() SqlConnection con = new SqlConnection(server=.;database=librarydatabase;user id=sa;pwd=;); /数据库连接字段 SqlCommand com = new SqlCommand(p_book, con); /调用存储过程 com.CommandType = CommandType.StoredProcedure; /指定执行的类型 con.Open(); /打开数据库连接 try SqlDataReader sdr = com.ExecuteReader(); /执行存储过程 while (sdr.Read() Console.WriteLine(sdr2.ToString(); /sdr方括号里面的数值就是返回记录的方列,这里是显示第三列的值,从0开始算 con.Close(); /关闭数据库连接 Console.ReadKey(); catch Console.WriteLine(something is wrong); Console.ReadKey(); 此时客户端就直接调用该方法即可!2:有参数的存储过程调用有参数的存储过程其实并不复杂,和类中方法参数的传递相似,只不过存储过程里面的参数前必须要有“”作用!建立存储过程如下:Use librarydatabase /指定所要建的存储过程的数据库goCreate procedure lib_readername nvarchar(20) /定义一个nvarchar型的参数,注意,用“”修饰asselect * from reader where 姓名=name /完整的SQL语句,引用该参数执行编译。再新建一个方法如下:public void haspara() SqlConnection con = new SqlConnection(server=.;database=librarydatabase;user id=sa;pwd=;); /数据库连接字段 SqlDataAdapter sda = new SqlDataAdapter(lib_reader, con); /调用存储过程,和前一个例子不同,这里用SqlDataAdapter,省去了打开数据库连接! /con.Open(); 此句可以省去,因为执行SqlDataAdapter已经打开了连接了 SqlParameter para0 = new SqlParameter(name, 张三); /给参数赋值,注意参数格式 sda.SelectCommand.Parameters.Add(para0); /添加参数值 sda.SelectCommand.CommandType = CommandType.StoredProcedure; /指定执行类型为存储过程 try DataSet ds = new DataSet(); sda.Fill(ds,table); foreach (DataRow therow in ds.Tablestable.Rows) Addr = therow家庭地址.ToString().Trim();/读取返回记录的相应字段,Addr必须先声明为string型才可以使用 Tel = therow电话.ToString().Trim();/读取返回记录的相应字段 Console.WriteLine(家庭地址是:0,所在系:1, password, quanxian); con.Close(); Console.ReadKey(); catch Console.WriteLine(something is wrong); c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论