一:Connection对象Connection对象用来处理与数据库的连接。
Connection对象的属性有如下几个:
ConnectionString属性:ConnectionString是连接字符串,通过传递包含一系列由分号分隔的“argument=value”语句的详细连接字符串,可指定用于建立连接数据源的信息。而连接串格式根据数据源的不同也有不同。
ConnectionTimeout属性:该属性指示在终止尝试和产生错误前建立连接期间所等待的时间。该属性值为长整型数,单位s,默认值为15。如果设为0,则ADO无限等待直到打开
Open方法:使用Open方法可以建立到数据源的物理连接。
Open函数详细定义:
HRESULT Open (_bstr_t ConnectionString,
_bstr_t UserID,
_bstr_t Password,
long Options)
参数意义:
ConnectionString :可选,类型为字符串,包含连接信息,如果设置了ConnectionString属性,该参数可以不设置
UserID:可选,字符串,包含建立连接时所使用用户名
Password:可选,字符串,包含建立时所使用的密码。
Option:可选,决定该方法是在连接建立之后(异步)还是连接建立之前(同步)返回,该值可以是如下两个常量:adConnectionUnsepecified(默认值,同步)和adAsyncConnect(异步)
Close方法:用来关闭到数据源的连接,访问数据库完成后,关闭连接,释放有关联的系统资源。关闭对象并不代表将它从内存中删掉,可以更改它的属性设置然后再次打开它
利用UDL文件与数据库建立连接实例:
//连接对象智能指针
_ConnectionPtr m_pConnection;
//实例化连接对象
m_pConnection.CreateInstance(__uuidof(Connection));
//设置连接串属性为UDL文件
m_pConnection->ConnectionString="File Name=my_data1.udl";
//设置等待连接打开的时间为20s
m_pConnection->ConnectionTimeout=20;
//利用Open方法建立与数据源的连接
m_pConnection->Open("","","",adConnectUnspecified);
Connection对象提供了事务处理的功能。Connection对象提供3个方法用来进行事务处理。
BeginTrans()方法:使用该方法标识一个事务的开始,调用该方法之后,就可以对连接的数据源进行任何需要的更改。
CommitTrans()方法:使用该方法标识一个事务的结束,调用该方法后,事务内对数据库所做的修改永远的保存到数据库中。
Rollback()方法:使用该方法也标志着一个事务的结束,但是,它使用在事务执行过程中出现错误的情况,该方法能够使事务内所作的修改回滚到事务执行之前的状态
注意:
1.Recordset对象和Command对象使用Open方法的第二个参数要用到_ConnectionPtr.GetInterfacePtr()函数返回值
2.执行Execute方法。m_pConnectionPtr->Execute(_bstr_t(sql),&RecordsAffected,adCmdText);其中RecordsAffected为_variant_t对象。