ADO.NET 核心对象简介

ADO.NET

 

ADO.NET是.NET中一组用于和数据源进行交互的面向对象类库,提供了数据访问的高层接口。

ADO.NET类库在System.Data命名空间内,根据我们访问的不同数据库选择命名空间,System.Data.SqlClient。

ADO.NET类最重要的优点是支持数据库以断开连接的方式工作。

ADO.NET主要通过两个核心组件来完成对数据库的操作,分别是DataSet和.NET数据库提供程序。数据集,在命令空间:System.Data下。

前者是ADO.NET断开式结构的核心组件,后者是专门为直接访问数据库,对其进行快速的只进,只读访问数据等数据处理而设计的组件。

ADO.NET常用对象:


Connection  连接数据库的通道

Command  命令执行对象

DataReader  数据读取器(只读只进)

DataAdapter  数据适配器

DateSet  数据在内存中的表现形式,临时数据库,断开式操作。

 

SqlConnection conn = new SqlConnection();  //创建Connection连接数据库对象

conn.ConnectionString = "data sourse=.;initalial catalog=MySchool;integrated security=true;"  //连接字符串

 

SqlCommand cmd = new SqlCommand();  //创建Command命令执行对象

cmd.CommandText = "SELECT * FROM dbo.Student";  //SQL语句

cmd.Connection = conn;  //绑定连接

cmd.CommandType = CommandType.Text;  //它告诉.net接下来执行的是一个文本(text)、存储过程(StoredProcedure)还是表名称(TableDirect).

 

//传参sql语句

cmd.CommandText = "SELECT * FROM dbo.Student where UesrID=@ID";  //SQL语句

SqlParameter  para=new SqlParameter("@ID",SqlDbType.int,4);  //生成一个名为@Id的参数,必须以@开头表示是添加的参数,并设置其类型长度,类型,长度。与数据库中对应字段相同

para.Value=Id;  //给参数赋值

cmd.Parameters.Add(para);  //必须把参数变量添加到命令对象中去。

 

 

conn.Open();  //打开连接

 

int i = Covert.ToInt32(cmd.Executescalar())  //返回结果集中第一行的第一列,一般用于返回单个结果(一行一列)的时候使用,值有可能返回null。

 

int i = Covert.ToInt32(cmd.ExecuteNonQuery())  //返回受影响的行数,一般用于 增删改 语句。执行其他语句默认返回-1。

 

SqlDataReader reader= cmd.ExecuteReader();  //执行命令,返回DataReader对象

if(reader.HasRows)  //判断是否有结果返回

while (reader.Read())  //循环读取
{

//do something

}

conn.Close();  //关闭连接

reader.Close();  //关闭reader

 

SqlDataAdapter sda = new SqlDataAdapter(sql语句,conn)  //创建对象

DataSet ds = new Dataset()

sda.fill(ds."表名")

 

 

SqlParameter  para=new SqlParameter("@Id",SqlDbType.int,4);  //生成一个名字为@Id的参数,必须以@开头表示是添加的参数,并设置其类型长度,类型长度与数据库中对应字段相同

para.Value=Id;  //给参数赋值

cmd.Parameters.Add(para);  //把参数变量添加到命令对象中去。

 

一次添加多个参数

SqlParameter[]  para=new SqlParameter[] {new SqlParameter("@Id",SqlDbType.int,4){value = xxx},new SqlParameter("@Id",SqlDbType.int,4){value = xxx}};

cmd.Parameters.AddRange(para);

转载于:https://www.cnblogs.com/Aaxuan/p/6126414.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB与Spring Data项目

如今,我们所有人都在观察NoSql解决方案的爆炸式增长。 我已经习惯了RDBMS,但这些并不是您可能遇到的所有挑战的解决方案。 根据最近的经验,我有机会使用MongoDB –文档数据库。 在本文中,我打算介绍将MongoDB与Spring Data项目一起…

java转换为字符串_java – 如何从int转换为字符串?

正常方式是Integer.toString(i)或String.valueOf(i)。串联将工作,但它是非常规的,可能是一个难闻的气味,因为它暗示作者不知道上述两种方法(他们不知道什么?)。Java在使用字符串(见the documentation)时对操作符提供了特殊的支持&…

简学LINGO(三)——实例篇

1. 装配线平衡模型 一个装配线含有一系列的工作站。在终于产品的加工过程中每一个工作站运行一种或者是几种特定的任务。装配线周期是指全部工作站完毕分配给他们各自任务所花费时间的最大值。平衡装配线的目标是为每一个工作站分配加工任务。尽可能使每一个工作站运行同样数量…

Hibernate缓存级别教程

开始使用Hibernate的人们常见的问题之一就是性能,如果您没有太多的Hibernate经验,您会发现应用程序变慢的速度。 如果启用sql跟踪,您将看到有多少查询被发送到数据库,而这些查询几乎不需要Hibernate知识就可以避免。 在当前文章中…

java方法执行的时间_计算Java中任意一个方法的执行时间的工具类

1 packagealgorithm.study.utils;23 importjava.lang.reflect.Method;45 /**6 * This class is getting a method execute time and provide some other functions.7 *8 *authorygh 2017年2月24日9 */10 public classMethodExecuteTimeUtils {1112 /**13 * Get a method execut…

如何在 IIS 中设置 HTTPS 服务

Windows Server2008、IIS7启用CA认证及证书制作完整过程 这篇文章介绍了如何安装证书申请工具; 如何在iis创建证书申请; 如何使用iis申请证书生成的txt文件,在工具中开始申请证书; 如何导出证书; 以及在网站中开始使用…

Android之卫星菜单的实现

卫星菜单是现在一个非常受欢迎的“控件”,很多Android程序员都趋之若鹜,预览如下图。传统的卫星菜单是用Animation实现的,需要大量的代码,而且算法极多,一不小心就要通宵Debug。本帖贴出用属性动画Animator来实现卫星菜…

Java中的WADL:温和的介绍

WADL( Web应用程序描述语言 )对REST而言,WSDL对SOAP而言。 这种语言的仅仅存在引起了很多争议(请参阅: 我们需要WADL吗? 或者 需要 WADL还是不需要WADL )。 我可以想到使用WADL的一些合法用例&a…

类成员函数模板特化

//类成员函数模板特化 #include <stdio.h> class A{ public:template <class T>void Print(){printf("A template\n");} };template<> void A::Print<int>(){printf("int\n"); }int main(){A a;a.Print<double>();a.Print&l…

为云量身定制您的服务

相信大家都听说过Amazon的AWS。作为业内最为成熟的云服务提供商&#xff0c;其运行规模&#xff0c;稳定性&#xff0c;安全性都已经经过了市场的考验。时至今日&#xff0c;越来越多的应用被部署在了AWS之上。这其中不乏Zynga及Netflix这样著名的服务。 然而这一切并没有停滞不…

在Vaadin和JSF之间选择

随着最新版本的Primefaces 3.0的发布&#xff0c;JSF终于达到了前所未有的成熟度和实用性&#xff0c;使其与其他流行的Rich Internet Applications&#xff08;RIA&#xff09;选项如Google Web Toolkit&#xff08;GWT&#xff09;&#xff0c;ExtJS&#xff0c;Vaadin&#…

20145202马超《信息安全系统设计基础》实验二总结

[实验二]&#xff08;http://www.cnblogs.com/nizaikanwoma/p/6131778.html&#xff09; 转载于:https://www.cnblogs.com/tuolemi/p/6131987.html

java 连接ldap_ldap java 连接demo

public class LDAPHelper {/*** LDAP可以理解为一个多级目录&#xff0c;这里&#xff0c;表示要连接到那个具体的目录*/private final String baseDn "ouPeople,dcchangyeyi,dccom";private LdapContext ctx null;private final Control[] connCtls null;private…

flask开发restful api系列(1)

在此之前&#xff0c;向大家说明的是&#xff0c;我们整个框架用的是flask sqlalchemy redis。如果没有开发过web&#xff0c;还是先去学习一下&#xff0c;这边只是介绍如果从开发web转换到开发移动端。如果flask还不是很熟悉&#xff0c;我建议先到这个网站简单学习一下&am…

Apache Commons Lang StringUtils

因此&#xff0c;认为最好谈论我喜欢的另一个Java库。 它已经存在了一段时间&#xff0c;也许不是最令人兴奋的库&#xff0c;但是它非常有用。 我可能每天都使用它。 org.apache.commons.lang.StringUtils StringUtils是Apache Commons Lang&#xff08; http://commons.apac…

JEE7:展望新时代

计划于2012年下半年发布的Java EE 7预计的JSR都已启动并正在运行。 Java EE 7发行版是日期驱动的&#xff0c;它将反映该行业迁移到云中时不断变化的需求&#xff1a;任何未准备就绪的内容将推迟到Java EE 8中使用 。 这是Java EE 7平台中不同规范的关键功能的更新和摘要。 1。…

Cocos2d-JS项目之UI界面的优化

测试环境&#xff1a; iphone4、iOS6.1.2、chrome 37.2062.60&#xff0c;Cocos2d-js 3.6 之前写了不少&#xff0c;实际项目也按这个去优化了&#xff0c;也有效果&#xff0c;但到最后才发现&#xff0c;尼玛&#xff0c;之前都搞错了&#xff0c;之所以有效果是歪打正着。。…

java数_java大数

java大数还是很好用的&#xff01;基本加入&#xff1a;import java.math.BigInteger;import jave.math.BigDecimal;分别是大数和大浮点数。首先读入可以用&#xff1a;Scanner input new Scanner(System.in);BigInteger a input.nextBigInteger();这样读还是很方便的当然还有…

【Qt之Quick模块】6. QML语法详解_2类型系统

描述 在QML文档中对象层次结构的定义中可能使用的类型可以来自各种来源。它们可能是: 由QML语言原生提供通过QML模块通过c注册由QML模块作为QML文档提供 此外&#xff0c;应用程序开发人员可以通过直接注册c类型&#xff0c;或者通过在QML文档中定义可重用的组件(然后可以导…

JS显示当前时间(包含农历时间)

时间格式&#xff1a; JavaScript代码&#xff1a; var sWeek new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");var dNow new Date();var CalendarData new Arra…