MFC-SQL Server 向表中插入數(shù)據(jù)

// DlgDatabase.cpp : 實(shí)現(xiàn)文件
//

#include "DlgDatabase.h"
#include "DlgCheck.h" // 因?yàn)槲矣杏玫紻lgCheck傳過(guò)來(lái)的變量
#include <ctime>

// CDlgDatabase 對(duì)話框
//一些用到的變量,沒(méi)有關(guān)聯(lián)編輯框
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;


    //測(cè)試一下能不能得到算法編號(hào)。。
    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庫(kù)環(huán)境,為訪問(wèn)ADO接口做準(zhǔn)備  
    _RecordsetPtr m_pRecordset("ADODB.Recordset");
    _ConnectionPtr m_pConnection("ADODB.Connection");
    m_pConnection.CreateInstance("ADODB.Connection");
    //創(chuàng)建Connection對(duì)象  
    //設(shè)置連接字符串 必須是BSTR or _bstr_ 類型 uid  和 pwd  賬戶和密碼可以自己設(shè)置  
    //如果數(shù)據(jù)庫(kù)在網(wǎng)上,則Server形如(192.168.1.5.3340)  
    //server=(local):數(shù)據(jù)庫(kù)服務(wù)器的地址,如果server的值為(local),表示是當(dāng)前電腦;   
    //UID=sa:數(shù)據(jù)庫(kù)的用戶名是sa;pwd=123654:數(shù)據(jù)庫(kù)的密碼是123654;  
    //database=Product:數(shù)據(jù)庫(kù)的庫(kù)名是Product;  
    //Provider=SQLOLEDB 數(shù)據(jù)庫(kù)采用SQL的方式連接  
    _bstr_t strConnect = "Provider=SQLOLEDB;Server=(local);Database=test;uid=sa;pwd=123654;";
    m_pConnection->Open(strConnect, "", "", adModeUnknown);
    if (m_pConnection == NULL)
    {
        TESTDB = "無(wú)法打開數(shù)據(jù)庫(kù)!";
        UpdateData(FALSE);
    }
    //創(chuàng)建記錄集  
    m_pRecordset.CreateInstance(_uuidof(Recordset));
    _bstr_t bstrSQL("select * from Product");
    m_pRecordset->Open(bstrSQL, m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
    //  m_pRecordset->MoveFirst();//移動(dòng)到第一條記錄,沒(méi)有這句話也可以吧
    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(); // 關(guān)閉記錄集 
    m_pConnection->Close();

    ::CoUninitialize();
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容