这里不展开详细的说事务,只是谈谈OLEDB在事务上的支持 ITransactionLocal接口 OLEDB中支持事务的接口是ITransactionLocal接口,该接口是一个可选接口,OLEDB并不强制要求所有数据库都支持该接口
除了常规调用sql语句和进行简单的插入删除操作外,OLEDB还提供了调用存储过程的功能,存储过程就好像是用SQL语句写成的一个函数,可以有参数,有返回值。
title: OLEDB数据源 date: 2018-01-12 21:42:37 tags: [OLEDB, 数据库编程, VC++, 数据库] categories: windows 数据库编程...keywords: OLEDB, 数据库编程, VC++, 数据库 --- 数据源在oledb中指数据提供者,这里可以简单的理解为数据库程序。...它的这些设置都是通过属性进行的 OLEDB属性与属性设置 OLEDB虽然是基于COM的一组接口,但是它与标准的COM接口有点不同,它的一大特色在于它自身的属性设置,有的接口虽然对象中存在但是调用QueryInterface...其实不用担心OLEDB在断开连接的时候已经帮助我们释放了这部分空间。...(IDBPromptInitialize); DECLARE_OLEDB_INTERFACE(IDataInitialize); DECLARE_OLEDB_INTERFACE(IDBInitialize
除了之前介绍的接口,OLEDB还定义了其他一些支持回调的接口,可以异步操作OLEDB对象或者得到一些重要的事件通知,从而使应用程序有机会进行一些必要的处理。其中较有用的就是结果集对象的变更通知接口。...标准COM的回调方式 为了更好的理解OLEDB的回调,先回忆一下标准COM的回调方式。...IRowsetNotify接口 对于OLEDB结果集来说,最重要的事件接口是IRowsetNotify,该接口提供三个重要的通知函数: OnFieldChange:列数据发生变更 OnRowChange...一般操作数据结果集有5个状态,分别对应这样的5个值: DBEVENTPHASE_OKTODO:准备好了去做,当应用程序需要操作结果集的时候会发送一个DBEVENTPHASE_OKTODO到监听程序(在这暂时就理解为OLEDB
笔者在项目中做做了一个从Excel表格中导入数据的模块、大体上asp.net项目中导入Excel大体分成三类: 1)采用c#内置方案System.Data.OleDb(限制较小, 通用) 2)采用Excel...sealed class ExcelHelper { private const string CONNECTION_STRING = "Provider=Microsoft.Jet.OLEDB...conn.Open(); DataTable sheetNames = conn.GetOleDbSchemaTable (System.Data.OleDb.OleDbSchemaGuid.Tables...return list; } 程序在执行时会抛出: 异常详细信息: System.InvalidOperationException: 未在本地计算机上注册“Microsoft.Jet.OLEDB
针对BLOB型数据,OLEDB也提供了对它的支持 使用BLOB型数据的利弊 一般数据库对BLOB型数据有特殊的处理方式,比如压缩等等,在数据库中存储BLOB数据可以方便的进行检索,展示,备份等操作。...针对这类文件一般的做法是将其保存在系统的某个路径钟中,而在数据库中存储对应的路径 操作BLOB型数据的一般方法 一般针对BLOB不能像普通数据那样操作,而需要一些特殊的操作,在OLEDB中通过设置绑定结构中的一些特殊值最终指定获取...型数据也需要使用ISequentialStream接口,但是它不像之前可以直接使用接口的Write方法,写入的对象必须要自己从ISequentialStream接口派生,并指定一段内存作为缓冲,以便供OLEDB...Write(pFileData, dwFileLen, &dwWritten); pSeqStream->Seek(0); //写这个操作将缓存的指针偏移到了最后,需要调整一下,以便OLEDB...插入BLOB数据时,首先创建一个派生类的对象,注意此处由于后续要交给OLEDB组件调用,所以不能用栈内存。
不同的平台有自己独特的一套机制,但是从总体来说,思想是共通的,只是语法上的不同,这里主要是说明OLEDB中的使用方式。 使用“?”
其实这个功能是OLEDB提供的高级功能之一。 枚举对象用于搜寻可用的数据源和其它的枚举对象(层次式),枚举出来的对象是一个树形结构。...在程序中提供一个枚举对象就可以枚举里面的所有数据源,如果没有指定所使用的的上层枚举对象,则可以使用顶层枚举对象来枚举可用的OLEDB提供程序,其实我们使用枚举对象枚举数据源时它也是在注册表的对应位置进行搜索...或者称之为根枚举器,根枚举器对象的CLSID是CLSID_OLEDB_ENUMNRATOR,顶层枚举对象可以使用标准的COM对象创建方式来创建,之后可以使用ISourceRowset对象的GetSourcesRowset...OLEDB提供者结果集 在上面我们说可以根据结果集中的行类型来判断是否是一个子枚举对象或者数据源对象,那么怎么获取这个行类型呢?这里需要了解返回的行集的结构。...具体例子 最后是一个具体的例子 这个例子中创建了一个MFC应用程序,最后效果类似于前面几个例子中的OLEDB的数据源选择对话框。
前一个阶段做一个>主要功能实现对OLEDB数据库的访问选取符合条件的数据表可以是主从关系比如一个主表带多个子表的功能
数据库的 Microsoft OLE DB Provider for Jet 在 64 位版本中不可用,也就是说,如下两种连接字符串都已经无法正常工作了: "Provider=Microsoft.Jet.OLEDB...FrameWorks %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i 3.完成之后,应该会看到多出一个32位的asp.net
---可以说是对odbc,oledb这些系统级的编程接口的汇接,并对DAO,RDO这些应用级的编程接口的升级吧。 ?...ODBC 、DAO 、ADO 、OLEDB 数据库连接方式区别及联系 ODBC 是一种底层的访问技术,因此,ODBC API 可以是客户应用程序能从底层设置和控制数据库,完成一些高级数据库技术无法完成的功能...ADO和OLEDB之间的关系 OLEDB是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO-技术的应用程序或用于C++的开发者开发定制的数据库组件。...可以这么说,ADO为OLEDB提供高层应用API函数。 ?...Server.CreateObject("ADODB.Connection") conn.connectionstring="DSN=注册名;UID=sa;PWD=sa;" conn.open 三、OLEDB
/** * *在本章节中主要讲解的是如何使用OLEDB将Excel中的数据导入到数据库中 * */ using System; using System.Data; using System.Data.OleDb...系统默认的是YES string connstr2003 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath...Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; string connstr2007 = "Provider=Microsoft.ACE.OLEDB
用ASP连接DBF、DBC、MDB、Excel、SQL Server型数据库的方法: 一、ASP的对象存取数据库方法 在ASP中,用来存取数据库的对象统称ADO(Active Data Objects...链接 适合的数据库类型 链接方式 access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin...source=machinename;initial catalog=dbname;userid=sa;password=pass;" MS text "Provider=microsof.jet.oledb...如果你的数据库和ASP文件在同一目录下,你只要这样写就可以了: dim conn set conn = server.createobject("adodb.connection") conn.open...= "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("bbs.mdb")
Page Language="C#" %> OleDb...e) { //设定PageSize PageSize = 10; //连接语句 string MyConnString = "Provider=Microsoft.Jet.OLEDB...; OleDb...Page_Load(Object src,EventArgs e) { OleDbConnection objConn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB...runat="server">上一页asp:HyperLink> asp:HyperLink id="lnkNext" runat="server">下一页asp:HyperLink>&
OLEDB 提供了静态绑定和动态绑定两种方式,相比动态绑定来说,静态绑定在使用上更加简单,而在灵活性上不如动态绑定,动态绑定在前面已经介绍过了,本文主要介绍OLEDB中的静态,以及常用的数据类型转化接口...数据关系对应表 一般静态绑定需要将数据库表的各项数据与结构体中的成员一一对应,这个时候就涉及到数据库数据类型到C/C++中数据类型的转化,下表列举了常见的数据库类型到C/C++数据类型的转化关系 数据库类型 OLEDB...而对应到具体的编程语言上有不同的展示方式,具体的语言中对同一种数据库类型有不同的数据类型对应,甚至有的可能并没有什么类型可以直接对应,这就涉及到一个从数据库数据类型到具体编程语言数据类型之间进行转换的问题,针对这一问题OLEDB...数据转换接口的使用 使用COM标准的方式创建IDataConver接口(调用CreateInstance函数传入CLSID_OLEDB_CONVERSIONLIBRARY创建一个IID_IDataConvert
用ASP连接DBF、DBC、MDB、Excel、SQL Server型数据库的方法: 一、ASP的对象存取数据库方法 在ASP中,用来存取数据库的对象统称ADO(Active Data Objects)...链接 适合的数据库类型 链接方式 access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin...source=machinename;initial catalog=dbname;userid=sa;password=pass;" MS text "Provider=microsof.jet.oledb...如果你的数据库和ASP文件在同一目录下,你只要这样写就可以了: dim conn set conn = server.createobject("adodb.connection") conn.open...= "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("bbs.mdb")
Language="C#" Debug="true" %> OleDb...runat="server"> private DataSet CreateDataSource(){ string strConn; strConn = "Provider=Microsoft.Jet.OLEDB...="Black" Font-Name="Arial" Font-Size="8" Font-Bold="False" HorizontalAlign="Center"/> asp...:BoundColumn HeaderText="" ReadOnly="true" DataField=""/> asp:BoundColumn HeaderText="" ReadOnly="true..." DataField=""/> asp:BoundColumn HeaderText="Email" ReadOnly="true" DataField=""/> asp:
MyCommand1.ExecuteNonQuery();’由于增加了一条记录,所以返回1 // 或者MyCommand1.ExecuteReader();先增加一条记录,然后返回一个System.Data.OleDb.OleDbDataReader...();’首先建立一个LookupCodes表,然后返回-1 //或者MyCommand1.ExecuteReader();首先建立一个LookupCodes表,然后返回一个System.Data.OleDb.OleDbDataReader...如果(如果SQL不是查询Select)那么 返回一个没有任何数据的System.Data.OleDb.OleDbDataReader类型的集合(EOF) 四、总结: ASP.Net中对于数据库的操作方法很多...,要实现统一个目标不同的人可能会采取不同的方法,就好像在ASP中有的人喜欢用RS.ADDNEW,有的人喜 欢用”Insert Into”,主要是看个人的习惯,当然在性能上不同的方法可能会存在较大的差别,...另外顺便说一下 ASP.Net页提供类似如下方式的操作方法: OleDbCommand2.Parameters( “ au_id “ ).Value = TextBox1.Text
上次将OLEDB的所有内容基本上都说完了,从之前的示例上来看OLEDB中有许多变量的定义,什么结果集对象、session对象、命令对象,还有各种缓冲等等,总体上来说直接使用OLEDB写程序很麻烦,用很大的代码量带来的仅仅只是简单的功能...ATL中的OLEDB主要有两大模块,提供者模块和消费者模块,顾名思义,提供者模块是数据库的开发人员使用的,它主要使用这个模块实现OLEDB中的接口,对外提供相应的数据库服务;消费者模块就是使用OLEDB...中的数据源对象和session对象 Command:命令对象,用来执行sql语句,类似于OLEDB中的Command对象 Recordset: 记录集对象,执行SQL语句返回的结果,类似于OLEDB中的结果集对象...混合编程 ADO相比较OLEDB来说确实方便了不少,但是它也有它的问题,比如它是封装的ActiveX控件,从效率上肯定比不上OLEDB,而且ADO中记录集是一次性将结果中的所有数据加载到内存中,如果数据表比教大时这种方式很吃内存...其实上述问题使用二者的混合编程就可以很好的解决,在处理结果集时使用OLEDB,而在其他操作时使用ADO这样既保留了ADO的简洁性也使用了OLEDB灵活管理结果集内存的能力。
VB.NET OLEDB创建Excel数据库 Imports System.Data.OleDb Public Class Form1 Private Sub Button1_Click(sender...Object, e As EventArgs) Handles Button1.Click Dim cnstr As String = "Provider=Microsoft.jet.OLEDB
领取专属 10元无门槛券
手把手带您无忧上云