zoukankan      html  css  js  c++  java
  • c++连接mssql

    # include <iostream>
    //# include "stdafx.h"
    # include <iomanip>
    # import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF", "EndOfFile")
    int main()
    {
        ::CoInitialize(NULL);
    
        try
        {
            _ConnectionPtr pConn("ADODB.Connection");
            _RecordsetPtr m_pRecordset("ADODB.Recordset");
            //连接字符串,此处为MSSQL的连接字符串,其他数据库的摆渡一下就知道
            _bstr_t strConnect="Provider=sqloledb;Network Library=DBMSSOCN;Initial Catalog=WDBuyDB;User ID=admin;Password=admin$192;Data Source=192.168.2.199,1433";
            //步骤1--打开连接
            pConn->Open(strConnect,"","",adModeUnknown);
            //步骤2--创建命令
            //步骤3--执行命令
            m_pRecordset=pConn->Execute("SELECT * FROM [WDBuyDB].[dbo].[Pro_ProductAttribute]",NULL,adCmdText);
            //步骤4--操作数据
            //操作数据可以选择其它的删除,修改,插入等这里只是读出数据库中表的数据
            _variant_t ProductAttributeKey,AttributeName,AttributeValue;
            std::cout<<"ProductAttributeKey                      AttributeName             AttributeValue";
            //std::cout<<"n---------------------n";
            while(!m_pRecordset->EndOfFile)
            {
                ProductAttributeKey=m_pRecordset->GetCollect(_variant_t((long)0));
                AttributeName=m_pRecordset->GetCollect(_variant_t((long)1));
                AttributeValue=m_pRecordset->GetCollect(_variant_t((long)2));
                //给字段编号或者是字段名
                //id=m_pRecordset->GetCollect("ProductAttributeKey");
                //name=m_pRecordset->GetCollect("AttributeName");
    
                if(ProductAttributeKey.vt!=VT_NULL&&AttributeName.vt!=VT_NULL)
                {
                    printf("\n");
                    //std::cout.setf(ios::left);
                    std::cout<<std::setw(18)<<(char*)(_bstr_t)ProductAttributeKey;
                    std::cout<<std::setw(10)<<(char*)(_bstr_t)AttributeName;
                    std::cout<<std::setw(20)<<(char*)(_bstr_t)AttributeValue;
                }
    
                //移动到下一条记录
                m_pRecordset->MoveNext();
    
                //关闭记录集
                m_pRecordset->Close();
            }
        }
        catch(_com_error e)
        {
            //显示错误信息
            //std::cerr << "This is a test message\n";
            std::cerr << (char*)e.Description();
            //std::cerr<<"nERROR:"<<(char*)e.Description();
        }
        getchar();
        ::CoUninitialize();
        return 0;
    
        //测试部分
        /*
        std::cout << "Hello, world!" << std::endl;
        getchar();
        return 0;
        */
    }
  • 相关阅读:
    AFNetwork 作用和用法详解
    IOS AFNetWorking 通过body传递参数给服务器
    ios开发 WKWebView 与 H5交互
    Android 穿山甲广告联盟接入
    IOS 监听锁屏
    cocoa pods 升级
    《从零开始学Swift》学习笔记(Day43)——构造函数继承
    《从零开始学Swift》学习笔记(Day 42)——构造函数调用规则
    《从零开始学Swift》学习笔记(Day 41)——类的继承
    《从零开始学Swift》学习笔记(Day 40)——析构函数
  • 原文地址:https://www.cnblogs.com/hongjiumu/p/2688681.html
Copyright © 2011-2022 走看看