ADO 数据查询
关键点
上1条 下1条 第1条 最后1条
实现过程
// stdafx.h : include file for standard system include files, #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")
// ADODlg.h : header file public: _ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset;
// ADODlg.cpp : implementation file BOOL CADODlg::OnInitDialog() m_pConnection. CreateInstance(__uuidof(Connection)); try { // 打开本地Access库Demo.mdb m_pConnection-> Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Db1.mdb", "", "",adModeUnknown); } catch( _com_error e) { AfxMessageBox( "数据库连接失败,确认数据库Db1.mdb是否在当前路径下!"); return FALSE; } m_pRecordset. CreateInstance(__uuidof(Recordset)); try { m_pRecordset-> Open( "SELECT * FROM student", // 查询DemoTable表中所有字段 m_pConnection. GetInterfacePtr(), // 获取库接库的IDispatch指针 adOpenDynamic, adLockOptimistic, adCmdText); } catch( _com_error * e) { AfxMessageBox( e-> ErrorMessage()); } void CADODlg::OnFirst() { _variant_t var; if(! m_pRecordset-> BOF) m_pRecordset-> MoveFirst(); else { AfxMessageBox( "已经是第一个了"); return; } var = m_pRecordset-> GetCollect( "Name"); if( var. vt != VT_NULL) m_strName = ( LPCSTR) _bstr_t( var); var = m_pRecordset-> GetCollect( "Sex"); if( var. vt != VT_NULL) m_strSex = ( LPCSTR) _bstr_t( var); var = m_pRecordset-> GetCollect( "Age"); if( var. vt != VT_NULL) { m_nAge = atoi( LPCTSTR( _bstr_t( var))); } var = m_pRecordset-> GetCollect( "Grade"); if( var. vt != VT_NULL) { m_nGrade = atoi( LPCTSTR( _bstr_t( var))); } UpdateData( FALSE); } void CADODlg::OnPrev() { _variant_t var; if( m_pRecordset-> BOF) { AfxMessageBox( "已经是最后一个了"); return; } m_pRecordset-> MovePrevious(); if( m_pRecordset-> BOF) { AfxMessageBox( "已经是第一个了"); return; } else { var = m_pRecordset-> GetCollect( "Name"); if( var. vt != VT_NULL) m_strName = ( LPCSTR) _bstr_t( var); var = m_pRecordset-> GetCollect( "Sex"); if( var. vt != VT_NULL) m_strSex = ( LPCSTR) _bstr_t( var); var = m_pRecordset-> GetCollect( "Age"); if( var. vt != VT_NULL) { m_nAge = atoi( LPCTSTR( _bstr_t( var))); } var = m_pRecordset-> GetCollect( "Grade"); if( var. vt != VT_NULL) { m_nGrade = atoi( LPCTSTR( _bstr_t( var))); } UpdateData( FALSE); } } void CADODlg::OnNext() { _variant_t var; if( m_pRecordset-> adoEOF) { AfxMessageBox( "已经是最后一个了"); return; } m_pRecordset-> MoveNext(); if( m_pRecordset-> adoEOF) { AfxMessageBox( "已经是最后一个了"); return; } else { var = m_pRecordset-> GetCollect( "Name"); if( var. vt != VT_NULL) m_strName = ( LPCSTR) _bstr_t( var); var = m_pRecordset-> GetCollect( "Sex"); if( var. vt != VT_NULL) m_strSex = ( LPCSTR) _bstr_t( var); var = m_pRecordset-> GetCollect( "Age"); if( var. vt != VT_NULL) { m_nAge = atoi( LPCTSTR( _bstr_t( var))); } var = m_pRecordset-> GetCollect( "Grade"); if( var. vt != VT_NULL) { m_nGrade = atoi( LPCTSTR( _bstr_t( var))); } UpdateData( FALSE); } } //最后1条 void CADODlg::OnLast() { _variant_t var; if(! m_pRecordset-> adoEOF) m_pRecordset-> MoveLast(); else { AfxMessageBox( "已经是最后一个了"); return; } var = m_pRecordset-> GetCollect( "Name"); if( var. vt != VT_NULL) m_strName = ( LPCSTR) _bstr_t( var); var = m_pRecordset-> GetCollect( "Sex"); if( var. vt != VT_NULL) m_strSex = ( LPCSTR) _bstr_t( var); var = m_pRecordset-> GetCollect( "Age"); if( var. vt != VT_NULL) { m_nAge = atoi( LPCTSTR( _bstr_t( var))); } var = m_pRecordset-> GetCollect( "Grade"); if( var. vt != VT_NULL) { m_nGrade = atoi( LPCTSTR( _bstr_t( var))); } UpdateData( FALSE); }
|
图
备注
相关链接
附件列表