zoukankan      html  css  js  c++  java
  • vc sqlserver编程的一个处理类

    这是头文件
    #pragma once

    #include "stdafx.h"

    class SQLDB
    {
    public:
        SQLDB(void);
        ~SQLDB(void);
        
    public:
      _ConnectionPtr m_con;
      _RecordsetPtr m_record;

    public:
        void InitConnection();  
        _RecordsetPtr& GetRecordSet(_bstr_t sql);
        BOOL ExecuteSql(_bstr_t sql);
        void ExitConnection();
    };

    这是cpp文件
    #include "StdAfx.h"
    #include "SQLDB.h"

    SQLDB::SQLDB(void)
    {
    }

    SQLDB::~SQLDB(void)
    {
    }

    void SQLDB::InitConnection()
    {
        
        try
        {
            //´创建connection连接对象
           m_con.CreateInstance("ADODB.Connection");      
           //设置连接字符串
           _bstr_t strConnect= "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=test1;Data Source=NETCOM-ZJY\\SQL2005";
           //AfxMessageBox(strConnect,0,0);
           //SERVER和UID,PWD的设定需要根据自己的情况
           m_con->Open(strConnect,"sa","111111",adModeUnknown);
           //AfxMessageBox(L"connection ok");
        }
        //捕捉异常
        catch(_com_error e)
        {
            //显示错误信息
            AfxMessageBox(e.Description());
        }
    }

    _RecordsetPtr& SQLDB::GetRecordSet(_bstr_t sql)
    {
        if(m_con == NULL)
        {
            InitConnection();
        }
       
        try
        {
        m_record.CreateInstance(__uuidof(Recordset));
        m_record->Open(sql,m_con.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
        }
        catch(_com_error e)
        {
            e.Description();
        }
        return m_record;
       
    }

    BOOL SQLDB::ExecuteSql(_bstr_t sql)
    {
        _variant_t affect;
       
        if(m_con == NULL)
        {
            SQLDB::InitConnection();
        }
       
        try
        {
            m_con->Execute(sql,NULL,adCmdText);
            return TRUE;
        }
        catch(_com_error e)
        {
            return FALSE;
        }
       
    }

    void SQLDB::ExitConnection()
    {
        if(m_record != NULL)
        {
            m_record->Close();
        }
       
        m_con->Close();
    }

    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    (转)ab(apachebench)测试与loadrunner
    hibernate学习总结
    Oracle 11G在用EXP 导入、导出时,若有空表对导入导出中遇到的问题的解决
    Nginx可以做什么
    Oracle的表空间、用户和表的区别和联系
    oracle11g 导出表报EXP-00011:table不存在。
    tomcat、nginx、apache、tengine都是什么,及其作用
    注解和依赖注入框架
    js中innerHTML与innerText的用法与区别
    Linux中 /boot 目录介绍
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319405.html
Copyright © 2011-2022 走看看