微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vb.net如何编写高效率的SQLHelper一基础篇

基础知识储备:

1、什么是ADO.NET?

MSDN 官方答:ADO.NET 是一组向 .NET Framework 程序员公开数据访问服务的类。ADO.NET 类位于 System.Data.dll 中,并与 System.Xml.dll 中的 XML 类集成。ADO.NET提供对诸如 sql Server 和 XML 这样的数据源以及通过 OLE DB 和 ODBC 公开的数据源的一致访问。共享数据的使用方应用程序可以使用 ADO.NET 连接到这些数据源,并可以检索、处理和更新其中包含的数据。

个人理解:就是.netFramework给咱提供的一个对各类数据库进行连接,并进行增删改查操作的类库,同时他也是.net 平台中唯一的资料存取元件(台湾版的名词解释)。它是从ADO发展而来,ADO又是从DAO,RDO的基础上,为了适应数据访问范例OLE DB而设计。OLE DB为任何数据源提供了高性能的访问。ADO是一个轻量级的,高性能的数据访问接口。

为什么又发展到了ADO.NET了呢?

因为,ADO对象模型在使用时,数据库连线和资源耗用的情况比较严重,从20世纪90年代兴起的Web程序应用,对于传统的这种保持连线的数据库程序设计提出了很高的要求!此时,微软提出要将资料集,Recardset离线化,要求能够在客户端创建一个小型的数据库。于是ADO+ 就产生了!后来又集成了XML,加上MS.net计划 以及.net平台的推出,这个产品也就更名为ADO.NET了。

2、ADO.NET 对象模型长啥样?看下图


3、ADO.NET 结构是怎样?见下图

从上图可知,ADO.NET 结构的一个核心元素是 .NET 数据提供程序(Data Provider)。

具体包括

  (1)Connection 对象提供与数据源的连接。

  (2)CommandCommand对象可以访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。

  (3)DataReader 对象从数据源中提供快速的,只读的数据流。

  (4)DataAdapter 对象提供连接 DataSet 对象和数据源的桥梁,DataAdapter使用Command对象在数据源中执行 sql 命令以向DataSet中加载数据,并将对DataSet中数据的更改协调回数据源。

  DataSet 是 ADO.NET 的非连接(断开)结构的核心组件:

  ADO.NETDataSet是专门为独立于任何数据源的数据访问而设计的。因此,它可以用于多种不同的数据源,用于 XML 数据,或用于管理应用程序本地的数据。DataSet包含一个或多个DataTable对象的集合,这些对象由数据行和数据列以及有关DataTable对象中数据的主键、外键、约束和关系信息组成。

4、连线环境 PK 非连线环境?

连线环境:是指用户在这种环境下始终保持与数据源的连接。只有操作结束才断开与数据库的连接

优点:实时性好,易控制数据的同步

缺点:占用资源大,扩展性不强

非连线环境:在初次连接中可以将检索到的数据独立地放在一个容器中,当使该独立数据改变时,再重新连接到数据源,从而进行数据的合并。用到的是DateSet类对数据进行填充。

优点:资源占用少,扩展强。

缺点:同步问题、并发问题不易解决;数据的非实时性

5、什么是Date Provider?

MSDN定义:.NET Framework 数据提供程序用于连接到数据库、执行命令和检索结果。这些结果将被直接处理,放置在DataSet中以便根据需要向用户公开、与多个源中的数据组合,或在层之间进行远程处理。.NET Framework 数据提供程序是轻量的,它在数据源和代码之间创建最小的分层,并在不降低功能性的情况下提高性能

个人理解:其实就是编码过程中我们用于连接到不同数据库的使用的不同命名空间下的类库。比如:Data.sqlclient,Date.oleDB, Date.odbc,Date.oracleclient……

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 -------------------------------- 数字类型的格式化 --------------------------------     固定格式参数:     General Number 普通数字,如可以用来去掉千位分隔号     format$("100,1
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和系统设置的区域语言的日期和时间格式相关。意思是尽管你用诸如 Format(Now, "MM/dd/yyyy"),如果系统的设置格式区域语言的日期和时间格式分隔符是"-",那他还会显示为 MM-dd-yyyy     只有拼凑: <%response.write
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接添加本ApplicationEvents.vb 到工程即可 ‘添加后还需要一个From用来显示错误。如果到这步还不会则需要先打好基础啦 ‘======================================================== ‘以下事件
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没有认真去找这个方法呀。 https://blog.csdn.net/chzjxgd/article/details/6176325 金蝶K3 BOS的插件官方是用VB6编写的,如果  能用.Net下的语言工具开发BOS插件是一件很愉快的事情,其中缘由不言而喻,而本文则是个人首创,实现在了用V
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, tmpStr As String, s As String Dim x As Integer, y As Integer, subStr As String If MsgBox("确定要分列处理吗?请确定分列的数据会覆盖它后面的单元格!", _
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single) 2 Dim path As String, hash As String 3 For Each fil
  Imports MySql.Data.MySqlClient Public Class Form1 ‘ GLOBAL DECLARATIONS Dim conString As String = "Server=localhost;Database=net2;Uid=root;Pwd=123456;" Dim con As New MySqlConnection
‘導入命名空間 Imports ADODB Imports Microsoft.Office.Interop   Private Sub A1() Dim Sql As String Dim Cnn As New ADODB.Connection Dim Rs As New ADODB.Recordset Dim S As String   S = "Provider=OraOLEDB.Oracl
Imports System.IO Imports System.Threading Imports System.Diagnostics Public Class Form1 Dim A(254) As String    Function ping(ByVal IP As Integer) As String Dim IPAddress As String IPAddress = "10.0.
VB运行EXE程序,并等待其运行结束 参考:https://blog.csdn.net/useway/article/details/5494084 Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long Pr