博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ ADO 数据查询
阅读量:5159 次
发布时间:2019-06-13

本文共 3487 字,大约阅读时间需要 11 分钟。

 

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);      
}

    

 

 

011853274773817.png  

011853311021943.png 

 

备注

 

 

相关链接

                           

 

 

附件列表

 

转载于:https://www.cnblogs.com/xe2011/p/3885675.html

你可能感兴趣的文章
深入理解 JavaScript 事件循环(一)— event loop
查看>>
Hive(7)-基本查询语句
查看>>
注意java的对象引用
查看>>
C++ 面向对象 类成员函数this指针
查看>>
NSPredicate的使用,超级强大
查看>>
自动分割mp3等音频视频文件的脚本
查看>>
判断字符串是否为空的注意事项
查看>>
布兰诗歌
查看>>
js编码
查看>>
Pycharm Error loading package list:Status: 403错误解决方法
查看>>
steps/train_sat.sh
查看>>
转:Linux设备树(Device Tree)机制
查看>>
iOS 组件化
查看>>
(转)Tomcat 8 安装和配置、优化
查看>>
(转)Linxu磁盘体系知识介绍及磁盘介绍
查看>>
tkinter布局
查看>>
命令ord
查看>>
Sharepoint 2013搜索服务配置总结(实战)
查看>>
博客盈利请先考虑这七点
查看>>
使用 XMLBeans 进行编程
查看>>