• VC++6.0连接Access数据库


    建立一个连接数据库的类:

    1.头文件:ADOConn.h

    #import "C:Program FilesCommon FilesSystemadomsado15.dll" no_namespace  rename("EOF","adoEOF")rename("BOF","adoBOF") 
    
    class ADOConnN
    {
    public:
    	_ConnectionPtr m_pConnect;
    	_CommandPtr m_pCommand;
    	_RecordsetPtr m_pRecord;
    
    	void OnInitADOConn();//初始化数据库连接
    	void ExitConnect();//断开数据库连接
    	void ExecuteSQL(CString sqlstr);//执行一般的数据库插入、更新、修改等
    	_RecordsetPtr GetRecord(CString sqlstr);//返回数据库中查询的数据集等
    };
    

    2.在StdAfx.h头文件中添加:

    #include "ADOConn.h"

    3.实现文件:ADOConn.cpp

    #include "stdafx.h"
    
    void ADOConnN::OnInitADOConn()
    {
    	::CoInitialize(NULL);
    	try  
    	{   //创建连接对象实例   
    		m_pConnect.CreateInstance("ADODB.Connection");   
    		//设置连接字符串   
    		CString strConnect="DRIVER={Microsoft Access Driver (*.mdb)};uid=;pwd=;DBQ=localwork.mdb;";   //数据库名称为localwork.mdb
    		//使用Open方法连接数据库   
    		m_pConnect->Open((_bstr_t)strConnect,"","",adModeUnknown); 
    	}  
    	catch(_com_error e)  
    	{   
    		AfxMessageBox("连接数据失败,请检查数据库路径是否正确!");  
    	}
    }
    
    void ADOConnN::ExitConnect()
    {
    	if(m_pRecord!=NULL)
    		m_pRecord->Close();
    	m_pConnect->Close();
    	::CoUninitialize();
    }
    
    void ADOConnN::ExecuteSQL(CString sqlstr)
    {
    	m_pConnect->Execute((_bstr_t)sqlstr,NULL,adCmdText);
    }
    
    _RecordsetPtr ADOConnN::GetRecord(CString sqlstr)
    {
    	_RecordsetPtr m_precordset=m_pConnect->Execute((_bstr_t)sqlstr,NULL,adCmdText);
    	return m_precordset;
    }
    

    4.应用:

    	CString bstrSQL ="select * from tb_UserInfo";//tb_UserInfo为localwork.mdb中的一个表
    	ADOConnN con;//实例化连接数据库对象
    	con.OnInitADOConn();//初始化数据库对象中的一些初始化工作
    	con.m_pRecord=con.GetRecord(bstrSQL);//获取数据集
    	while(!con.m_pRecord->adoEOF)
    	{
    	  m_Grid.InsertItem(0,"");
    	  m_Grid.SetItemText(0,0,(char*)(_bstr_t)con.m_pRecord->GetCollect("Username"));//Username为tb_UserInfo表的一列
    	  m_Grid.SetItemText(0,1,(char*)(_bstr_t)con.m_pRecord->GetCollect("password"));//password为tb_UserInfo表的一列
    	  //将记录集指针移动到下一条记录
    	  con.m_pRecord->MoveNext();
    	}
    	con.ExitConnect();//断开数据库连接
    

      

  • 相关阅读:
    Halcon一日一练:图像分割之基本概念
    Halcon一日一练:创建AOI
    Halcon一日一练:获取图像属性
    Halcon一日一练:创建三通道图像
    Halcon一日一练:Halcon异常判断方法
    Java基础_类的加载机制和反射
    Java基础_死锁、线程组、定时器Timer
    Java基础_通过模拟售票情景解决线程不安全问题
    Java基础_线程的使用及创建线程的三种方法
    HTML/HTML5 知识点思维导图
  • 原文地址:https://www.cnblogs.com/striver-zhu/p/4523155.html
Copyright © 2020-2023  润新知