zoukankan      html  css  js  c++  java
  • 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();//断开数据库连接
    

      

  • 相关阅读:
    Linux学习 -- Shell编程 -- 字符截取命令
    Linux学习 -- Shell编程 -- 正则表达式
    Linux学习 -- Shell基础 -- Bash变量
    Linux学习 -- Shell基础 -- Bash基本功能
    Linux学习 -- Shell基础 -- 概述
    Linux学习 -- 备份与恢复
    Linux学习 -- 启动管理
    Linux学习 -- 日志管理
    chapter9_3 协同程序实现迭代器
    chapter9_2 管道与过滤器
  • 原文地址:https://www.cnblogs.com/striver-zhu/p/4523155.html
Copyright © 2011-2022 走看看