ADO中字段的类型(DataTypeEnum 值)
- 格式:pdf
- 大小:100.11 KB
- 文档页数:3
ADO(ActiveX Data Objects)是一种用于访问数据库的编程接口,它提供了一组对象和集合,用于执行各种数据库操作,如连接数据库、执行查询、处理结果等。
在.NET中,是ADO的.NET版本,它提供了一组类和接口,用于在.NET应用程序中访问数据库。
下面是一个简单的读写类的示例:```csharpusing System;using System.Data;using System.Data.SqlClient;public class AdoReadWriter{private string connectionString;public AdoReadWriter(string connectionString){this.connectionString = connectionString;}public DataTable ExecuteQuery(string query){using (SqlConnection connection = new SqlConnection(connectionString)){connection.Open();SqlCommand command = new SqlCommand(query, connection);SqlDataAdapter adapter = new SqlDataAdapter(command);DataTable table = new DataTable();adapter.Fill(table);return table;}}public void ExecuteNonQuery(string query){using (SqlConnection connection = new SqlConnection(connectionString)){connection.Open();SqlCommand command = new SqlCommand(query, connection);command.ExecuteNonQuery();}}}```上面的代码定义了一个名为AdoReadWriter的类,它包含两个方法:ExecuteQuery和ExecuteNonQuery。
ADO组件ADO全称为:ActiveX Data Object。
用户可能通过ADO组件来存取数据。
ADO通过微软OLEDB数据访问技术来为众多数据提供一个高级界面。
OLEDB是Microsoft提出的数据访问的系统的接口。
OLEDB是一个开放的技术体系,它继承了Microsoft较早提出的ODBC,目的在于提供一个能跨平台访问数据库的数据库接口。
OLEDB 数据访问技术可以让用户快速地访问任何数据源,包括关系数据库和非关系数据库、电子邮件和文件系统、文本和图像以及用户自定义的商业对象等多种数据源。
组件和主要功能分别是:1、ADOConnection用于建立ADO数据库的永久连接,并支持事务功能。
2、ADODataSet用于从ADO数据库的一个或多个数据表检索数据,并允许数据控制组件通过与DataSource 组件相连来操纵该数据,它是用于检索和操作数据库中数据的主要组件。
3、ADOTable用于检索ADO数据库中的一个单一数据表生成的数据集,并允许数据控制组件通过与DataSource组件相连来操纵该数据集。
4、ADOQuery使用合法的SQL语句来检索物理数据表中的数据集,并允许数据控制组件通过与DataSource 组件相连来操纵该数据表。
5、ADOStoredproc用于执行存储过程,该组件可以实现执行检索数据或执行SQL语言的DLL语句的存储过程。
6、ADOCommand用于向ADO数据库直接发送一条SQL命令。
这些命令不返回结果集。
7、RDSConnection用于将Recordset对象从一个过程或机器传递到另一个过程或机器时管理数据的汇集。
它可以用来建立使用商业对象如应用服务器的多层客户/服务器应用程序。
ADOConnection组件详解1、常用属性:(1)Attributes属性属性声明如下:_property TxcatAttributes Attributes={read=GetAttributes,write=SetAttributes,default=0};这个属性用于设置与ADO数据库的连接特性。
ADO数据访问技术摘自《Visual C++ + SQL Server数据库应用实例完全解析》启明工作室编著,人民邮电出版社出版,2006年4月第一版。
ADO的全称是ActiveX Data Objects。
Visual C++提供了丰富的数据库访问技术,如ADO、ODBC、DAO和RDO等,其中,ADO是最新的数据库访问技术,它是使用更为简单,而又更加灵活的对象模型。
对于新工程,应该使用ADO作为数据访问接口。
1. ADO数据模型Figure 6. ADO Object ModelADO提供执行以下操作的方式:➢连接到数据源。
➢指定访问数据源的命令,同时可带变量参数或优化执行。
通常涉及ADO的Command对象。
➢执行命令,例如一个SELECT脚本。
➢如果这个命令使数据库按表中行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。
➢适当情况下,可以把缓存行的更改内容写回数据库中,更新数据源。
➢提供常规方法检测错误(错误通常由建立连接或执行命令造成),涉及ADO的Error对象。
ADO编程模型提供了以下主要元素:1)连接。
通过“连接”可以从应用程序中访问数据源。
连接时必须指定要连接到的数据源以及连接所使用的用户名和口令等信息。
对象模型使用Connection对象完成连接功能。
2)命令。
可以通过已建立的连接发出命令,对数据源进行指定的操作。
一般情况下,可以通过命令在数据源中添加、修改或删除数据,也可以检索满足指定条件的数据。
在对象模型中使用Command对象来体现命令的概念。
3)参数。
在执行命令时可指定参数,参数可以在命令发布之前进行更改。
例如,可以重复发出相同的数据检索命令,但是每一次指定的检索条件不同。
对象模型用Parameter对象来体现参数概念。
4)记录集。
查询命令可以将查询结果存储在本地,这些数据以“行”为单位,返回市局的集合被称为记录集。
对象模型将记录集体现为Recordset对象。
ADO Data 控件ADO Data控件与内部Data控件以及Remote Data控件(RDC)相似。
ADO Data 控件使用户能使用Microsoft ActiveX Data Objects (ADO) 快速地创建一个到数据库的连接。
说明在设计时,您可以通过首先将ConnectionString 属性设置为一个有效的连接字符串,然后将RecordSource 属性设置为一个适合于数据库管理者的语句来创建一个连接。
您也可以将ConnectionString 属性设置为定义连接的文件名该文件是由“数据链接”对话框产生的,当您单击“属性”窗口中的ConnectionString,然后单击“生成”或“选择”时,该对话框出现。
您可以通过将DataSource 属性设置为ADO Data 控件,把ADO Data件连接到一个数据绑定的控件,例如DataGrid,DataCombo或DataList控件。
在运行时,您可以动态地设置ConnectionString 和RecordSource 属性来更改数据库。
或者,您可以将Recordset 属性直接设置为一个原先已经打开的记录集。
属性CacheSize属性(ADO),CommandTimeout属性(ADO),CommandType 属性(ADO),ConnectionString属性(ADO),ConnectionTimeout属性(ADO),CursorLocation属性(ADO),CursorType属性(ADO),LockType属性(ADO),MaxRecords属性(ADO),Mode属性(ADO),Provider属性(ADO),Recordse 属性(ADO数据控件),RecordSource属性(ADO数据控件),Password性(ADO数据控件),UserName属性(ADO数据控件),BackColor, ForeColo 属性,Height, Width属性,Left,Top属性,Tabindex属性,Tag属性,Visible 属性,Align属性,DragIcon属性,DragMode属性,CausesValidation属性Orientation属性,TabStop属性,Appearance属性,Caption属性,HelpContextID 属性,Index属性(控件矩阵),Name属性,Parent属性,Font属性,Containe 属性,Object属性,ToolTipText属性,BOFAction, EOFAction属性WhatsThisHelpID属性。
VC ADO调用存储过程关于ADO调用存储过程的标准的做法:按照以下步骤进行:1、生成并初始化一个_CommandPtr对象;2、生成调用存储过程需要的参数,这些参数都是_ParameterPtr对象;3、按照顺序将使用_CommandPtr的Append方法为存储过程提供参数(包括输入参数和输出参数);4、为_CommandPtr对象指定需要使用的ADO连接等;5、使用_CommandPtr的Execute方法调用存储过程;6、从结果中获取返回参数的值(如果有的话)。
具体的过程详见代码。
附加说明:1、关于CreateParameter函数,该函数的原型为:CreateParameter (Name, Type, Direction, Size, Value);其中:Name是参数的名称,可以指定也可以不指定;Type是一个DataTypeEnum值,指定参数的类别,取值有adInteger(整型)、adChar (字符/字符串型)等;Direction是一个ParameterDirectionEnum值,其取值为adParamInput、adParamInputOutput、adParamOutput、adParamReturnValue、adParamUnknown;Size是一个Long类型的值,指示该参数值以字节计算的最大长度,例如对int型,该值可以取为sizeof(int),对Long型,该值可以取为sizeof(long),对字符串型,可以使用该字符串的长度;Value是一个variant类型的值,是该参数的取值。
在这里需要注意的是,Type参数、Direction参数以及Size参数一定要和存储过程定义时的参数相吻合,例如,如果有下面一个存储过程CREATE OR REPLACE PROCEDURE SMS_Proc_Handle_All(UserID Integer,SourAddr varchar(15),DestAddr varchar(5000),AvValue OUTPUT Single,ReturnInfo OUTPUT varchar(100))则Type参数的取值依次为adInteger、adChar、adChar、adSingle,adChar;Direction参数的取值依次为adParameterIn、adParameterIn、adParameterIn、adParameterOut、adParameterOut;对于输入参数,Size的值可以根据实际数值来定,对于输出参数,最好是根据定义确定(上例中ReturnInfo参数的Size值可以取为100)。
ADO数据库编程入门 (3)使用ADO编程时可以采用以下三种方法之一: (3)1、使用预处理指令#import (4)2、使用MFC中的CIDispatchDriver (4)3、直接用COM提供的API (4)二、使用#import方法的编程步骤 (4)1、添加#import指令 (4)2、定义_ConnectionPtr型变量,并建立数据库连接 (4)3、定义_RecordsetPtr型变量,并打开数据集 (5)4、读取当前记录的数据 (6)5、修改数据 (7)6、添加记录 (7)7、删除记录 (9)8、使用带参数的命令 (9)9、响应ADO的通知事件 (11)10、绑定数据 (13)11. 访问长数据 (15)12. 使用SafeArray问题 (16)13. 使用书签( bookmark ) (18)14、设置过滤条件 (18)15、索引与排序 (19)16、事务处理 (19)使用SAFEARRAY (23)SAFEARRAY与SAFEARRAYBOUND (26)V ARIANT 指针的用法(SAFEARRAY,SAFEARRAYCREAT(),SAFEARRAYBOUND)30 对V ARIANT变量的赋值可参考《V ARIANT和BSTR这两种类型是COM中使用的数据类型.doc》 (31)对于V ARIANT变量的赋值方法:首先给vt成员赋值,指明数据类型, (31)ADO(ActiveX Data Object,AxtiveX数据对象)是目前在Windows环境中比较流行的客户端数据库编程技术。
ADO主要有三个对象。
Connection对象连接对象表示到数据源的连接,同时也表示与数据源的惟一会话。
在使用ADO操作数据库前,必须首先创建一个连接对象。
Command对象命令对象用于定义对数据源执行的特定命令,主要用于查询数据库,并返回Recordset对象中的记录,以便大量操作,或对数据库结构进行操行。
ADO简介一、Active数据对象(ActiveDataObjects)ADO实际是一种提供访问各种数据类型的连接机制。
ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。
可以使用任何一种ODBC数据源,即不止适合于SQLServer、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。
ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。
ADO 同时具有远程数据服务 (RDS) 功能,通过 RDS 可以在一次往返过程中实现将数据从服务器移动到客户端应用程序或 Web 页、在客户端对数据进行处理然后将更新结果返回服务器的操作。
RDS 以前的版本是 Microsoft Remote Data Service 1.5,现在,RDS 已经与 ADO 编程模型合并,以便简化客户端数据的远程操作。
二、ADO 提供执行以下操作的方式1.连接到数据源。
同时,可确定对数据源的所有更改是否已成功或没有发生。
2.指定访问数据源的命令,同时可带变量参数,或优化执行。
3.执行命令。
4.如果这个命令使数据按表中的行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。
5.适当情况下,可使用缓存行的更改内容来更新数据源。
6.提供常规方法检测错误(通常由建立连接或执行命令造成)。
在典型情况下,需要在编程模型中采用所有这些步骤。
但是,由于 ADO 有很强的灵活性,所以最后只需执行部分模块就能做一些有用的工作。
例如:将数据从文件直接存储到缓存行,然后仅用 ADO 资源对数据进行检查。
三、ADO 编程模型中的关键部分连接、命令、参数、记录集、字段、错误、属性、集合、事件。
1.连接通过“连接”可从应用程序访问数据源,连接是交换数据所必需的环境。
通过如Microsoft® Internet Information Server 作为媒介,应用程序可直接(有时称为双层系统)或间接(有时称为三层系统)访问数据源。
利用ADOX修改ACCESS字段名及类型'VBA代码'需要引用ADOXPublic Sub Fn修改字段名和类型()Dim Cnn As New ADODB.ConnectionDim Cat As New ADOX.CatalogSet Cnn = CurrentProject.ConnectionCat.ActiveConnection = CnnDim strTblName As StringDim strColName As StringstrTblName = "表名"strColName = "字段名"Dim i As IntegerDim j As IntegerDim k As IntegerFor i = 0 To Cat.Tables.Count - 1If Cat.Tables(i).Type = "TABLE" ThenFor j = 0 To Cat.Tables(i).Columns.Count - 1If Cat.Tables(i).Name = strTblName And Cat.Tables(i).Columns(j).Name = strColName Then'修改字段类型 [下行蓝色部分用法详见备注]Cnn.Execute "alter table " & strTblName & " alter column " & strColName & " varchar(100)"'修改字段名Cat.Tables(i).Columns(j).Name = "新字段名"End IfNext jEnd IfNext iMsgBox "OK"End Sub*****************************************************************************************备注:(此内容COPY自ADO2.5帮助文件)DataTypeEnum指定Field、Parameter或Property的数据类型。
DataTypeEnum
指定Field、Parameter或Property的数据类型。
在下表的“说明”列的括号中显示了相应的 OLE DB 类型指示符。
有关OLE DB 数据类型的详细信息,请参阅OLE DB Programmer's Reference 的Chapter 13和Appendix A。
adLongVarChar201指示一个长字符串值(仅限于Parameter对象)。
adLongVarWChar203指示一个以 Null 终止的长 Unicode 字符串值(仅限于
Parameter对象)。
adNumeric131指示具有固定精度和范围的确切数字值 (DBTYPE_NUMERIC)。
adPropVariant138指示一个 Automation PROPVARIANT (DBTYPE_PROP_VARIANT)。
adSingle4指示一个单精度浮点值 (DBTYPE_R4)。
adSmallInt2指示一个双字节的有符号整数 (DBTYPE_I2)。
adTinyInt16指示一个单字节的有符号整数 (DBTYPE_I1)。
adUnsignedBigInt21指示一个八字节的无符号整数 (DBTYPE_UI8)。
adUnsignedInt19指示一个四字节的无符号整数 (DBTYPE_UI4)。
adUnsignedSmallInt18指示一个双字节的无符号整数 (DBTYPE_UI2)。
adUnsignedTinyInt17指示一个单字节的无符号整数 (DBTYPE_UI1)。
adUserDefined132指示一个用户定义的变量 (DBTYPE_UDT)。
adVarBinary204指示一个二进制值(仅限于Parameter对象)。
adVarChar200指示一个字符串值(仅限于Parameter对象)。
adVariant12指示一个 Automation Variant (DBTYPE_VARIANT)。
注意ADO 目前不支持这种数据类型。
使用它可能导致不可预
料的结果。
adVarNumeric139指示一个数字值(仅限于Parameter对象)。
adVarWChar202指示一个以 Null 终止的 Unicode 字符串(仅限于Parameter
对象)。
adWChar130指示一个以 Null 终止的 Unicode 字符串 (DBTYPE_WSTR)。
ADO/WFC 等价内容
包:com.ms.wfc.data
常量
AdoEnums.DataType.ARRAY
AdoEnums.DataType.BIGINT
AdoEnums.DataType.BINARY
AdoEnums.DataType.BOOLEAN
AdoEnums.DataType.BSTR
AdoEnums.DataType.CHAPTER
AdoEnums.DataType.CHAR
AdoEnums.DataType.CURRENCY
AdoEnums.DataType.DATE
AdoEnums.DataType.DBDATE
AdoEnums.DataType.DBTIME
AdoEnums.DataType.DBTIMESTAMP AdoEnums.DataType.DECIMAL AdoEnums.DataType.DOUBLE AdoEnums.DataType.EMPTY AdoEnums.DataType.ERROR AdoEnums.DataType.FILETIME AdoEnums.DataType.GUID AdoEnums.DataType.IDISPATCH AdoEnums.DataType.INTEGER AdoEnums.DataType.IUNKNOWN AdoEnums.DataType.LONGVARBINARY AdoEnums.DataType.LONGVARCHAR AdoEnums.DataType.LONGVARWCHAR AdoEnums.DataType.NUMERIC AdoEnums.DataType.PROPVARIANT AdoEnums.DataType.SINGLE AdoEnums.DataType.SMALLINT AdoEnums.DataType.TINYINT AdoEnums.DataType.UNSIGNEDBIGINT AdoEnums.DataType.UNSIGNEDINT AdoEnums.DataType.UNSIGNEDSMALLINT AdoEnums.DataType.UNSIGNEDTINYINT ERDEFINED AdoEnums.DataType.VARBINARY AdoEnums.DataType.VARCHAR AdoEnums.DataType.VARIANT AdoEnums.DataType.VARNUMERIC AdoEnums.DataType.VARWCHAR AdoEnums.DataType.WCHAR。