文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何调用ADO.NET代码

2023-06-17 20:27

关注

本篇内容介绍了“如何调用ADO.NET代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的“官方”方法。另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后不再一一说明。本文所有例子均采用C#语言。

要在应用程序中访问数据库,一般性的步骤是:首先声明一个数据库连接SqlConnection,然后声明一个数据库命令SqlCommand,用来执行SQL语句和存储过程。有了这两个对象后,就可以根据自己的需要采用不同的执行方式达到目的。需要补充的是,不要忘记在页面上添加如下的引用语句: using System.Data.SqlClient。就执行存储过程来说,如果执行的是***类存储过程,那么就要用一个 DataAdapter将结果填充到一个DataSet中,然后就可以使用数据网格控件将结果呈现在页面上了;如果执行的是第二和第三种存储过程,则不需要此过程,只需要根据特定的返回判定操作是否成功完成即可。

(1)执行一个没有参数的存储过程的ADO.NET代码如下:

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)执行一个有参数的存储过程的ADO.NET代码如下(我们可以将调用存储过程的函数声明为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.Output;  param.Value = Convert.ToDateTime(inputdate);  da.SelectCommand.Parameters.Add(param);

若要获得参储过程的返回值:

param = new SqlParameter("@ParameterName", SqlDbType.DateTime);  param.Direction = ParameterDirection.ReturnValue;  param.Value = Convert.ToDateTime(inputdate);  da.SelectCommand.Parameters.Add(param);

上面的代码我们可以看出,当存储过程比较多或者存储过程的参数比较多时,这种方法会大大影响开发的速度;另外一方面,如果项目比较大,那么这些用于数据库逻辑的函数在以后的维护中也是一个很大的负担。那么,有没有一种改进的方法可以解决这个问题呢?想到在执行没有参数的存储过程时只需要传入一个存储过程的名字就可以调用相应的存储过程,而且在SqlServer数据库中我们可以直接在查询分析器中敲入“存储过程名(参数列表)”样的字符串就可以执行存储过程,那么,是否可以把这种思想应用到应用程序中呢?

于是在编译器中键入相应代码。这些代码是在调用不带参数的存储过程的代码的基础上改的。具体ADO.NET代码如下:

SqlConnection conn=new SqlConnection(“connectionString”);  SqlDataAdapter da = new SqlDataAdapter();  da.SelectCommand = new SqlCommand();  da.SelectCommand.Connection = conn;  da.SelectCommand.CommandText = "NameOfProcedure(’para1’,’para2’,para3)";  da.SelectCommand.CommandType = CommandType.StoredProcedure;

为了使代码更具有代表性,要调用的存储过程的***个和第二个参数都为字符串类型,第三个参数为整型。执行以后发现,完全可以达到预期的效果!

“如何调用ADO.NET代码”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯