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();
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容