|
”),注意:此处的返回值类型为:_variant_t,这个类型类包含了许多与c++所支持的类型的转换函数,较常用的是与cstring类型的转换(LPCSTR)_bstr_t(_variant_t类型变量)。记录集的增加操作: 确保要操作的记录集打开之后,首先调用m_pRecordset->addnew(),addnew之后将自动生成一个供记录集域值使用的新的空记录,来存放即将增加的数据信息,系统将自动执行sql的insert语句来插入记录。 然后通过设置列属性:putcollect(“列名”,_variant_t &pvar)来设置记录信息 设置之后一定要调用m_pRecordset->update来更新记录集 记录集的修改操作: 修改操作与增加操作类似,唯一不同之处在于不用先调用addnew,而直接将记录集指针移动到需要修改的记录处,执行putcollect操作。 之后再update。 记录集的删除操作: 当找到需要删除的记录时,利用m_pRecordset->Delete(adAffectCurrent);可以删除当前的记录。 再update即可。 当然,在每次需要对记录集操作之前应当打开需要操作的表的记录集,操作完毕应关闭相应记录集,这样可以保证只声明一个记录集指针,每次只操作一个记录集,可以节约资源。 另外,在修改和删除操作中也可能需要查询满足条件的记录,可以这样实现: str.Format("select * from STUDENTS where StuID=''''%s''''",m_StuID); m_pRecordset->Open(str.AllocSysString(),theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); 2. 自己写一个ADOConnection类作为应用程序操作数据库的接口 通过自定义的ADOConnection类封装与应用程序操作数据库的接口(在这个类中应首先声明_connectionptr 和_recordsetptr指针),这个类中要实现的功能包括:定义ADO库,初始化与ADO的连接,释放连接,初始化记录集(方法1的初始化是在相应类的OnInitDialog()中实现),执行SQL语句 定义ADO库,初始化与ADO的连接,释放连接与方法1一致; 初始化记录集: _RecordsetPtr & CAdoConnection::GetRecordset(_bstr_t mySql) { try { if (m_pConnection==NULL) { OnInitAdoConneciton(); } m_pRecordset.CreateInstance(_uuidof(Recordset)); m_pRecordset->Open(mySql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); } catch (_com_error *e) { AfxMessageBox(e->ErrorMessage()); } return m_pRecordset; } 执行SQL语句主要使用connection来实现(不同于方法1利用记录集来实现) bool CAdoConnection::ExecuteSql(_bstr_t mySql) { m_pConnection->Execute(mySql,NULL,adCmdText);} 至此,在应用程序中可以通过定义这个ADOConnection的实例来完成相应的操 上一页 [1] [2] [3] [4] 下一页 [Delphi程序]在Delphi里调用API函数动态建立ODBC数据源。 [网页制作]Ultradev实例教程:2.2 用ODBC连接数据库 [Web开发]在DELPHI程序中使用ADO对象存取ODBC数据库 [Web开发]在DELPHI程序中使用ADO对象存取ODBC [MySql]php操纵mysql的类(与odbc相对应) [MySql]使用MySql ODBC进行MYsql和MS sql7的数据转换
|