原文:http://www.ithao123.cn/content-4004602.html

http://hi.baidu.com/847270942/blog/item/c224dd557ff7455d574e0072.html

数据访问应用程序块提供了获取 ADO.NET DbCommand 对象的的统一方法。应用程序块的数据访问方法包含了接受 DbCommand 对象的重载。如果用 DbCommand 对象来使用重载,在调用存储过程时将可以进行更多的控制。例如,如果使用 DbCommand 对象,就可以使用在输出参数中返回多个结果的存储过程。另外,DbCommand 对象允许指定存储过程的超时值。

创建 DbCommand 对象的方法分为二种类型:

  • 表示存储过程调用的那些方法(例如,GetCustomers)
  • 表示 SQL 文本命令的那些方法(例如,Select CustomerID, Fullname From Customers )

调用的获取 DbCommand 对象的方法由是要执行内联的 SQL 还是调用存储过程来决定。用于存储过程的创建 DbCommand 对象的方法还提供参数缓存。关于参数缓存的更多信息,请参见处理参数。

所有 DbCommand 对象的创建都使用 Database 类的方法,这些方法如下:

  • GetStoredProcCommand。此方法用于存储过程命令。
  • GetSqlStringCommand。此方法用于 SQL 文本命令。 二个方法都返回一个 DbCommand 对象。

用于 SQL 语句的 DbCommand对象

使用 GetSqlStringCommand 方法创建用于内联 SQL 语句的 DbCommand 对象。特定的 SQL 命令在方法调用时做为一个参数进行传递。

下列代码展示了如何使用 GetSqlStringCommand

C#

  1. Database db = DatabaseFactory.CreateDatabase();
  2. string sqlCommand = "Select CustomerID, LastName, FirstName From Customers";
  3. DbCommand dbCommand = db.GetSqlStringCommand(sqlCommand);

用于存储过程的 DbCommand 对象

要执行存储过程,必须使用 GetStoredProcCommand 方法来创建 DbCommand 对象。要执行存储过程的名称在方法调用时做为一个参数传递。

下列代码展示了如何使用 GetStoredProcCommand

C#

  1. Database db = DatabaseFactory.CreateDatabase();
  2. DbCommand dbCommand = db.GetStoredProcCommand("GetProductsByCategory");

http://hi.baidu.com/847270942/blog/item/c224dd557ff7455d574e0072.html

DbCommand 与SqlCommand的区别是什么啊,急,都不知道用哪个好

DbParameter是sqlParmeter的基类,
sqlParameter针对sqlserver

DbParameter是父类,而且是abstract的,不能实例化
就是不能:DbParameter a = new DbParameter();

而SqlParameter是子类,可以实例化

可以:
DbParameter a = new SqlParameter();
或者:
SqlParameter a = new SqlParameter();GetStoredProcCommand

GetStoredProcCommand和GetSqlStringCommand的区别的更多相关文章

  1. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

  2. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  3. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

  4. 探究@property申明对象属性时copy与strong的区别

    一.问题来源 一直没有搞清楚NSString.NSArray.NSDictionary--属性描述关键字copy和strong的区别,看别人的项目中属性定义有的用copy,有的用strong.自己在开 ...

  5. X86和X86_64和X64有什么区别?

    x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为&qu ...

  6. Java中Comparable与Comparator的区别

    相同 Comparable和Comparator都是用来实现对象的比较.排序 要想对象比较.排序,都需要实现Comparable或Comparator接口 Comparable和Comparator都 ...

  7. MySQL中interactive_timeout和wait_timeout的区别

    在用mysql客户端对数据库进行操作时,打开终端窗口,如果一段时间没有操作,再次操作时,常常会报如下错误: ERROR (HY000): Lost connection to MySQL server ...

  8. 设置line-height:1.5和line-height:150%或者line-height:150px的区别

    直接正题: 看一下line-height可能的值: 其实可以分为两类: (1)不带单位的(如line-height:1.5),这种是推荐使用的: (2)带单位的(如line-heigth:30px/1 ...

  9. C#中Length和Count的区别(个人观点)

    这篇文章将会很短...短到比你的JJ还短,当然开玩笑了.网上有说过Length和count的区别,都是很含糊的,我没有发现有 文章说得比较透彻的,所以,虽然这篇文章很短,我还是希望能留在首页,听听大家 ...

随机推荐

  1. 在 anyproxy 上做 mock 和 fuzz 测试

    引言 写这个工具,主要有几个原因: 最近老大在尝试不同视角的测试----健壮性测试,任务下来,所以挽起袖子就开撸了 app很可能因为后端api做了变更,返回了一个异常的值而出现难以预知的问题,健壮性受 ...

  2. U盘装系统

    http://jingyan.baidu.com/article/fec4bce20e344cf2618d8b37.html

  3. kali ssh服务开启登录

    vi /etc/ssh/sshd_config 将#PasswordAuthentication no的注释去掉,并且将NO修改为YES //kali中默认是yes 2. 将PermitRootLog ...

  4. AMD模块介绍(翻译)

    http://dojotoolkit.org/documentation/tutorials/1.10/modules/index.html Dojo支持以异步模型定义(AMD)方式编写的模块,让会让 ...

  5. JVM堆内存设置和测试

    1. Java虚拟机内存结构 划分新生代和老年代,这样只在新生代分配内存,从而简化了新对象的分配.另外新生代和老年代使用不同的GC算法,可以更有效的清除不再需要的对象.从上图可以看出,JVM内存由yo ...

  6. (C++) LNK2019: unresolved external symbol.

    Error 33 error LNK2019: unresolved external symbol "\xxx.obj yyy.Native 仔细看看错误信息,后来发现尽然是构造函数的一个 ...

  7. 读写hdfs文件(工作笔记)

    import java.io.IOException; import java.io.InputStream; import java.util.List; import java.util.Map; ...

  8. Python从线程获取函数返回值

    Python中利用强大的threading模块可以很容易的实现多线程开发,提高运行速度.这一般是对某个进行大量计算操作的的函数进行多线程处理,然后合并各线程的结果.获取函数返回值的方法可以如下: 1) ...

  9. 分布式ID生成器 zz

    简介 这个是根据twitter的snowflake来写的.这里有中文的介绍. 如上图所示,一个64位ID,除了最左边的符号位不用(固定为0,以保证生成的ID都是正数),还剩余63位可用. 下面的代码与 ...

  10. 可提高工作效率的 PL/SQL Developer 设置

    1.将Window List 列表展示出来并保存当前布局 ①Tools-->Windows List (展示窗口列表) ②Window-->Save Layout (保存当前布局) 2.设 ...