- 13
- 0
- 约3.37千字
- 约 7页
- 2018-08-11 发布于福建
- 举报
BS模式下调用存储过程改进方法
BS模式下调用存储过程改进方法
【摘 要】B/S系统中调用存储过程能减少网络通信量,执行速度更快且具有更强的适应性,合理使用存储过程对B/S系统构建具有重要的优化作用。传统的调用方法不仅速度慢,而且代码会随着存储过程的增多不断膨胀,难以维护。本文提出了一种新的方法,在原有调用方法的基础上进行改进,在一定程度上解决了这些问题。
【关键词】B/S模式;存储过程;SQL数据库;
【中图分类号】TP391.13 【文献标识码】A 【文章编号】1672-5158(2013)03-0089-01
0 引言
根据返回值类型的不同,我们可以将存储过程分为三类:返回记录集的存储过程,返回数值的存储过程(也可以称为标量存储过程),以及行为存储过程。顾名思义,返回记录集的存储过程的执行结果是一个记录集,典型的例子是从数据库中检索出符合某一个或几个条件的记录[2];返回数值的存储过程执行完以后返回一个值,例如在数据库中执行一个有返回值的函数或命令[3];最后,行为存储过程仅仅是用来实现数据库的某个功能,而没有返回值,例如在数据库中的更新和删除操作。
1两种不同的存储过程调用方法
为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的传统方法。另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后不再一一说明。本文所有例子均采用C#语言。
要在应用程序中访问数据库,一般性的步骤是:首先声明一个数据库连接SqlConnection,然后声明一个数据库命令SqlCommand,用来执行SQL语句和存储过程。有了这两个对象后,就可以根据自己的需要采用不同的执行方式达到目的。需要补充的是,不要忘记在页面上添加如下的引用语句:using System.Data.SqlClient。
就执行存储过程来说,如果执行的是第一类存储过程,那么就要用一个DataAdapter将结果填充到一个DataSet中,然后就可以使用数据网格控件将结果呈现在页面上了;如果执行的是第二和第三种存储过程,则不需要此过程,只需要根据特定的返回判定操作是否成功完成即可。
(1)执行一个没有参数的存储过程的代码如下:
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;
然后只要选择适当的方式执行此处过程,用于不同的目的即可。
(2)执行一个有参数的存储过程的代码如下(我们可以将调用存储过程的函数声明为
ExeProcedure(string inputdate)):
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.
您可能关注的文档
- BD预设型动脉采血器在年轻护士培训中应用效果.doc
- Beat语义结构与汉语对应模式认知研究.doc
- Beckman Coulter Access DXI800与Cobas e411两种化学发光免疫检测系统检测血清总β―HCG结果比对分析.doc
- Beckman―coulter AC.T5diff血液分析仪白细胞研究参数在白血病筛查中应用.doc
- BEC口语测试与测试成绩关系研究.doc
- BEGO种植体在改善牙缺失患者咀嚼功能与生存质量中作用探析.doc
- BEC文本商务谈判特点运用.doc
- BES Web报表创建与应用.doc
- Beta磷酸三钙复合材料支架研究进展.doc
- BevSorGem三线治疗II及IIF治疗失败晚期肾细胞癌临床研究.doc
最近下载
- 提高外窗塞缝防渗漏一次验收合格率(陈启威).docx VIP
- 太平鸟:首次公开发行A股股票上市公告书.PDF VIP
- 如何找回误删微信好友,微信好友一键恢复.doc VIP
- 《WEBGIS编程入门教程》课件.ppt VIP
- uom无人机考试题库及答案2025.doc VIP
- 湖北省部分市州2025 年元月高三期末联考物理试卷(含答案详解).pdf
- 不用手机或密码,一招就能恢复微信聊天记录.docx VIP
- 特定技能2号农业练习试卷附答案.doc VIP
- 大学生创新自我效能感的中介作用研究.docx VIP
- 万和 Wanhe JSQ27-510J14 JSQ3Q27-515W14 JSQ27-521J14 JSQ25-522J13 JSQ25-512T13 JSQ30-550J16 家用供热水燃气快速热水.pdf
原创力文档

文档评论(0)