MFC-SQL Server 向表中插入数据

// 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();
}
    原文作者:Dorrrris
    原文地址: https://www.jianshu.com/p/ca2512cf467c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞