程序运行效果截图: |
ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,请不必为此担心,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。本文将详细地介绍在VC下如何使用ADO来进行数据库应用程序开发,并给出示例代码。
用ADO操作数据库的方法步骤 _ConnectionPtr接口返回一个记录集或一个空指针。 _CommandPtr接口返回一个记录集。 _RecordsetPtr是一个记录集对象。
/***********************【1】COM库的初始化***********************************/ BOOL CADOTest1App::InitInstance()
/***************【3】创建Connection对象并连接数据库********************/ 首先我们需要添加一个指向Connection对象的指针: _ConnectionPtr m_pConnection; BOOL CADOTest1Dlg::OnInitDialog() ◆在这段代码中我们是通过Connection对象的Open方法来进行连接数据库的,下面是该方法的原型 HRESULT Connection15::Open (_bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options ) ConnectionString 为连接字串,
(1)通过JET数据库引擎对ACCESS2000数据库的连接 (2)通过DSN数据源对任何支持ODBC的数据库进行连接: (3)不通过DSN对SQL SERVER数据库进行连接: ◆先介绍Connection对象中两个有用的属性ConnectionTimeOut与State State属性指明当前Connection对象的状态,0表示关闭,1表示已经打开,我们可以通过
为了取得结果记录集,我们定义一个指向Recordset对象的指针: SQL命令的执行可以采用多种形式,下面我们一进行阐述。 ◆(1)利用Connection对象的Execute方法执行SQL命令 _RecordsetPtr Connection15::Execute (_bstr_t CommandText, VARIANT * RecordsAffected, long Options ) Execute执行完后返回一个指向记录集的指针,下面我们给出具体代码并作说明。 catch (_com_error e)
◆(2)利用 Command对象 来执行SQL命令 m_pCommand->CommandText="INSERT INTO 学生信息(学号,姓名,年龄,生日) VALUES (112105, '程红秀',22,'1982-08-16')"; _variant_t vCount = m_pRecordset->GetCollect((_variant_t)(long)0); //取得第一个字段的值 m_pRecordset->Close(); } 在这段代码中我们只是用Command对象来执行了SELECT查询语句,
Open方法的原型是这样的:
根据我们刚才通过执行SQL命令建立好的 学生信息 表,它包含四个字段:学号,姓名,年龄,生日 try
/***********************【6】关闭记录集与连接 *************************/
|
<script type="text/javascript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>