strConnect, "", "", adConnectUnspecified);
(2)conn->Open("DSN=DataSourceNcom", "", "", adConnectUnspecified);
对于本章的例子,要连接的数据库就是在第2 节创建的数据库Info.mdb(数据源也在第
2 节已经设置好),则连接语句如下:
_ConnectionPtr m_connection;
//创建实例
m_connection.CreateInstance(__uuidof(Connection) );
枫叶文学网www.fywxw.com
Visual C++ 6.0 程序设计从入门到精通
·352·
//根据连接字符串开启数据连接
m_connection->Open( "DSN=Information", "", "", -1);
12.6.3 获得和遍历记录集
建立连接后,便可以创建一个ADO 记录集。在得到记录集之前,需要先声明一个
_RecordsetPtr 型变量,然后创建记录集的实例:
_Recordset m_Recordset;
//创建实例
m_Recordset.CreateInstance(__uuidof(Recordset));
这里_RecordsetPtr 的来历类似于_ConnectionPtr,也是由类模板_com_ptr_t 而得到的一个
具体的实例类。
一般说来,打开记录集有3 种方式。
1.利用Connection 对象的Execute()方法执行SQL 命令
Execute()方法的原型如下:
Execute(_bstr_t CommandText, VARIANT* RecordsAffected, long Options)
各参数意义如下:
? CommandText:命令字串,通常是SQL 语句。
? RecordsAffected:cāo作完成后影响的行数。
? Options:CommandText 中内容的类型。取值为adCmdText 表明是文本命令;取值为
adCmdTable 表明是一个表名;取值为adCmdProc 表明是一个存储过程。
假设m_Connection 和m_Recordset 分别是创建好的连接对象和记录集对象,则利用
Connection 对象的Execute()方法打开记录集代码如下:
_variant RecordsAffected;
m_Connection->Execute(“select * from Contact”, &RecordsAffected, adCmdText);
2.利用Command 对象执行SQL 命令
当要执行复杂的命令以及执行带参数的命令时,要使用命令对象对数据源进行cāo作。一
般的,利用Command 对象打开记录集代码如下:
_CommandPtr m_Command;
//创建实例
m