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注册。

  • 相关阅读:
    c语言求最大公约数和最小公倍数(转)
    git 提交去除每次输账号密码
    phpstorm使用zen coding 快速编辑补全html/css代码
    YII2.0使用ActiveForm表单(转)
    php面向对象之trait
    php操作redis(转)
    模块
    列表生成式 与生成器表达式
    三元表达式,递归,内置函数
    面向过程的编程思想
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319405.html
Copyright © 2011-2022 走看看