美文网首页
MFC-SQL Server 向表中插入数据

MFC-SQL Server 向表中插入数据

作者: Dorrrris | 来源:发表于2017-11-06 13:29 被阅读0次
    // DlgDatabase.cpp : 实现文件
    //
    
    #include "DlgDatabase.h"
    #include "DlgCheck.h" // 因为我有用到DlgCheck传过来的变量
    #include <ctime>
    
    // CDlgDatabase 对话框
    //一些用到的变量,没有关联编辑框
    CString strTime,TableName;
    int GroupNum = 0;
    using namespace std;
    
    void CDlgDatabase::OnBnClickedGettime()
    {
        // TODO: 在此添加控件通知处理程序代码
        UpdateData(TRUE);
        struct tm t;
        time_t now;
        time(&now);
        localtime_s(&t, &now);
        m_Year = t.tm_year + 1900;
        m_Month = t.tm_mon + 1;
        m_Day = t.tm_mday;
        m_Hour = t.tm_hour;
        m_Min = t.tm_min;
    
    
        //测试一下能不能得到算法编号。。
        testAlg = GetAlgNum;
    
        UpdateData(FALSE);
    
        CString strHour, strMin;
        strHour.Format(_T("%d"), m_Hour);
        strMin.Format(_T("%d"), m_Min);
        if (m_Min < 10)
            strMin = "0" + strMin;
        strTime = strHour +":"+ strMin;
    
        //TableName将作为表名,形如:Image201711
    
        //  CString str1("Image");
        //  CString str2, str3;
        //  str2.Format(_T("%d"), m_Year);
        //  str3.Format(_T("%d"), m_Month);
    
        //TableName = str1 + str2 + str3 + strTime;
        
        
    
    }
    
    
    void CDlgDatabase::OnDropdownCombo1()
    {
        // TODO: 在此添加控件通知处理程序代码
        m_Group.AddString("01");
        m_Group.AddString("02");
        m_Group.AddString("03");
    }
    
    
    void CDlgDatabase::OnSelchangeCombo1()
    {
        // TODO: 在此添加控件通知处理程序代码
        int group_index = m_Group.GetCurSel();
        switch (group_index)
        {
        case 0:
            GroupNum = 1;
            break;
        case 1:
            GroupNum = 2;
            break;
        case 2:
            GroupNum = 3;
        default:
            break;
        }
    }
    
    
    
    void CDlgDatabase::OnBnClickedSave()
    {
        // TODO: 在此添加控件通知处理程序代码
        UpdateData(TRUE);
        // TODO: 在此添加控件通知处理程序代码
        //  ProInfo Pro;
        ::CoInitialize(NULL);//初始化OLE/COM库环境,为访问ADO接口做准备  
        _RecordsetPtr m_pRecordset("ADODB.Recordset");
        _ConnectionPtr m_pConnection("ADODB.Connection");
        m_pConnection.CreateInstance("ADODB.Connection");
        //创建Connection对象  
        //设置连接字符串 必须是BSTR or _bstr_ 类型 uid  和 pwd  账户和密码可以自己设置  
        //如果数据库在网上,则Server形如(192.168.1.5.3340)  
        //server=(local):数据库服务器的地址,如果server的值为(local),表示是当前电脑;   
        //UID=sa:数据库的用户名是sa;pwd=123654:数据库的密码是123654;  
        //database=Product:数据库的库名是Product;  
        //Provider=SQLOLEDB 数据库采用SQL的方式连接  
        _bstr_t strConnect = "Provider=SQLOLEDB;Server=(local);Database=test;uid=sa;pwd=123654;";
        m_pConnection->Open(strConnect, "", "", adModeUnknown);
        if (m_pConnection == NULL)
        {
            TESTDB = "无法打开数据库!";
            UpdateData(FALSE);
        }
        //创建记录集  
        m_pRecordset.CreateInstance(_uuidof(Recordset));
        _bstr_t bstrSQL("select * from Product");
        m_pRecordset->Open(bstrSQL, m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
        //  m_pRecordset->MoveFirst();//移动到第一条记录,没有这句话也可以吧
        m_pRecordset->AddNew(); ///添加新记录  
        m_pRecordset->PutCollect("PTime", _variant_t(strTime));
        m_pRecordset->PutCollect("Size", _variant_t(m_Size));
        m_pRecordset->PutCollect("GroupID", _variant_t(GroupNum));
    
        m_pRecordset->Update();
    
        m_pRecordset->Close(); // 关闭记录集 
        m_pConnection->Close();
    
        ::CoUninitialize();
    }
    

    相关文章

      网友评论

          本文标题:MFC-SQL Server 向表中插入数据

          本文链接:https://www.haomeiwen.com/subject/sdvkmxtx.html