sqlhelper

     ASqlConnection对象表示到唯一的会话SQL Server数据源。 使用客户端/服务器数据库系统,它相当于网络连接到服务器。SqlConnection使用连同SqlDataAdapterSqlCommand来提高性能时连接到 MicrosoftSQLServer数据库。 为所有第三方SQL Server产品和其他支持 OLE DB 的数据源,则使用OleDbConnection

包含 Command 对象的所有 Parameter 对象。

说明

   Command 对象具有由 Parameter 对象组成的 Parameters 集合。

使用 Command 对象的 Parameters 集合上的 Refresh 方法,可以获取有关 Command 对象中指定的存储过程参数化查询的提供者的参数信息。某些提供者不支持存储过程进行调用或参数化查询,使用这样的提供者时调用 Parameters 集合上的 Refresh 方法将返回错误。

如果调用 Refresh 方法前没有定义自己的 Parameter 对象而访问 Parameters 集合,ADO 将自动调用方法并填充该集合。

如果知道与要调用的存储过程参数化查询相关联的参数的属性,可以最小化对提供者的调用以提高性能。使用 CreateParameter 方法可以创建具有适当属性设置的 Parameters 对象,使用 Append 方法可以将其添加到 Parameters 集合。这将允许您设置并返回参数值而不必调用参数信息的提供者。如果正在写入不提供参数信息的提供者,则必须使用此方法手工填充 Parameters 集合才能使用参数。如果必要可以使用 Delete 方法将Parameters 对象从 Parameters 集合中删除。

cmd.ExecuteNonQuery()对象是对insert,update,delete语句返回受影响的行数,如:delete from tablename

cmd.cmd.ExecuteScalar()对象是对select语句返回统计结果数,如:select count(*)from tablename

cmd.ExecuteReader()对象是对select语句返回单条数据信息,如:select * fromtablename where id='1'

同样也可以通过实例化SqlDataAdapter,返回dataset/datatable ,如:select * form tablename

DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。

每一个Command都是一个独立的Command对象。也就是都有自己的ConnectionCommandText
  
     DataAdapter的所有工作都会落实到一个Command上,比如查询就用SelectCommand。如果SelectCommand没有配置好,就不能执行这个工作。

       
相应的,如果要执行Update方法,就必须配置好UpdateCommand。而我们通常的定义中(如:OleDbDataAdapter   da=new   OleDbDataAdapter( "Select   *  From   Authors ",conn);)都只是配置了SelectCommand,所以这时DataAdapter只能执行查询工作,而不能执行Update

       
要让DataAdapter执行Update,当然就必须配置好UpdateCommand。但是这个CommandCommandText相当复杂(如果有N个字段的话,就有2*N+1个参数),如果要我们手工去配置,那简直就是不可能的。所以.NET为我们提供那一个自动配置其Command的工具CommandBuilder。用这个Class,我们就能把DataAdapter的所有Command配置好,从而使它能执行这些操作。

 
      CommandBuilder也有两种:OleDbCommandBuilderSqlCommandBuilder。分别对应OleDbSQL   Server

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值