ADO.NET之初步了解

2024-08-26 22:58
文章标签 初步 了解 net ado

本文主要是介绍ADO.NET之初步了解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

             重构的时候就接触过ADO.NET,新闻发布系统的时候遇到了sqlhelp。学习ASP.NET的时候,老师又很详细的讲了。现在总结一下。


简介:

           首先,ADO.NET提供了对sql server等数据库的访问。应用程序可以通过ADO.NET连接到数据库,并检索、操作、更新其中的数据。同时他是一组向.net编程人员公开数据访问服务的类。ADO。NET提供了对关系数据、XML和应用程序数据的访问,所以是.NET Framework不可或缺的一部分。            

           ADO.NET组件将数据访问和数据处理分离,他是通过俩个主要的组件:.NET数据提供程序和Dataset来完成这一操作的。

   

                          

        

        数据访问有俩种方法,一是通过DataReader对象来直接访问,另一个是通过DataSet对象和DataAdapter对象来访问。

        

        .NET提供了四个数据提供程序:

          SQL Server提供程序、  OLEDB提供程序、Oracle提供程序、ODBC提供程序

         在这里,我们说的是 SQL Server提供程序。

.NET数据提供程序的四个对象:

         .NET数据提供程序提供了四个对象:Connection Command DataReader DataAdapter

1、Connection:提供与数据源的连接

例子:

     public static string ConnectionString=@"server=.;database=newssystem;uid=sa;pwd=123456";

     在配置文件中,也可以用到他。

     

 <add key="con" value="server=.;database=computer;uid=sa;pwd=123456;"></add>
     为了获取配置文件中存储的数据库的连接字符串,我们需要使用using System . Data . SqlClient;
using System . Configuration的命名空间,同时需要把配置文件中的连接引过来,在窗体中的代码如下:

   SqlConnection con = new SqlConnection(System . Configuration . ConfigurationManager . AppSettings["con"]);
    这样我们就创建了一个数据库连接对象,在执行任何数据库操作之前,我们还需要打开数据库。

2、Command:用于返回数据、修改数据、运行存储过程以及检索参数信息的数据库命令。也就是提供了对数据库操作命令的封装。具体的操作可以是我们的SQL语句,也可以是存储过程等。同时它是建立在数据库已经连接的情况下的。

      在重构中,我们就知道了很多他的属性和方法,现在来归纳一下。

                              CommandText:类型为string,他可以是sql语句,也可以是存储过程或者是表等。

                              CommandType:类型为枚举类型,Text为sql语句,TableDirect为要读取的表,StoredProcedure

                                                            为存储过程(重构的时候敲了很多的这个词)

                              Connection:获取sqlconnection对象,使用该对象和数据库进行通信

                              SqlParameterCollection:提供给命令的参数

                              ExecuteNonQuery:执行没有返回值的sql语句


      创建一个Command对象的方法:                               

 SqlCommand mycommand = new SqlCommand();mycommand . Connection = con ;mycommand . CommandText = "select * from User_info";
     或者是:

  SqlCommand cmd=new SqlCommand ("select * from User_info",con);

3、  DataReader: 从数据源中提供高性能的数据流

            使用Command命令,我们可以产生一个DataReader对象,DataReader对象可以将数据源的数据取出来并给使用者。

 4、DataAdapter:提供连接Dataset对象和数据源的桥梁,使用command对象在数据源中执行sql命令,以便将数据加载Dataset对象中,并使对Dataset对象中数据的更改与数据源保持一致。

  

DataSet对象

         DataSet对象是另一个组件,他是专门为数据源的数据访问而设计的,所以他可以用于多个不同的数据源。DataSet对象包含一个或者多个DataTable对象的集合,这些对象都有数据行、列、主键、外键等,他就是一个内存中的数据库。

                                                                                                                                                                                                   

ADO.NET的命名空间:

           System.Data:提供对表示ADO.NET结构的类的访问

           System.Data.SqlClient:用于Sql server的.NET数据提供程序        


           ADO.NET的理论学习是必不可少的环节,但是正正的把他弄的十分清楚的,还是我们在敲代码中的反复运用。   ADO.NET,学习必备!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

   


这篇关于ADO.NET之初步了解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109924

相关文章

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

2、PF-Net点云补全

2、PF-Net 点云补全 PF-Net论文链接:PF-Net PF-Net (Point Fractal Network for 3D Point Cloud Completion)是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争

PHP: 深入了解一致性哈希

前言 随着memcache、redis以及其它一些内存K/V数据库的流行,一致性哈希也越来越被开发者所了解。因为这些内存K/V数据库大多不提供分布式支持(本文以redis为例),所以如果要提供多台redis server来提供服务的话,就需要解决如何将数据分散到redis server,并且在增减redis server时如何最大化的不令数据重新分布,这将是本文讨论的范畴。 取模算法 取模运

初步学习Android的感想

之前在学习java语言的时候就经常听说过Android这门语言,那时候感觉Android有些神秘感,再加上Android是用来开发移动设备的一门语言,所以一直对Android抱有一种兴奋的心情。 在我开始接触 Android之后,感觉超好玩,因为可以在自己的手机设备上开发一些我喜欢的小应用,再想想之前说学习Android应该会很难,但是如果你真的接触了,而且有JAVA的功底,我想学习Androi

Weex入门教程之1,了解Weex

【资料合集】Weex Conf回顾集锦:讲义PDF+活动视频! PDF分享:链接:http://pan.baidu.com/s/1hr8RniG 密码:fa3j 官方教程:https://weex-project.io/cn/v-0.10/guide/index.html 用意 主要是介绍Weex,并未涉及开发方面,好让我们开始开发之前充分地了解Weex到底是个什么。 以下描述主要摘取于

Java了解相对较多!

我是对Java了解相对较多,而对C#则是因工作需要才去看了一下,C#跟Java在语法上非常相似,而最初让我比较困惑的就是委托、事件部分,相信大多数初学者也有类似的困惑。经过跟Java的对比学习,发现这其实跟Java的监听、事件是等同的,只是表述上不同罢了。   委托+事件是观察者模式的一个典型例子,所谓的委托其实就是观察者,它会关心某种事件,一旦这种事件被触发,这个观察者就会行动。   下

使用WebP解决网站加载速度问题,这些细节你需要了解

说到网页的图片格式,大家最常想到的可能是JPEG、PNG,毕竟这些老牌格式陪伴我们这么多年。然而,近几年,有一个格式悄悄崭露头角,那就是WebP。很多人可能听说过,但到底它好在哪?你的网站或者项目是不是也应该用WebP呢?别着急,今天咱们就来好好聊聊WebP这个图片格式的前世今生,以及它值不值得你花时间去用。 为什么会有WebP? 你有没有遇到过这样的情况?网页加载特别慢,尤其是那