我正在使用 sql server 2014 和 Visual Studio 2015 社区我在 MFC DB 程序(单个文档和 OLE DB)上工作,但遇到了大麻烦
问题是当我在编辑器中按下刷新按钮时,当我通过 MFC 按钮更改使用中的 DB 值时,值不会实时更改,更改值
如何实时更改值?
下面是代码和图片
更新按钮代码
void CTouhouJGSView::OnBnClickedButtonUpdate()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
CCommand<CDynamicAccessor> cmd;
CString strQuery = _T("UPDATE dbo.TouhouTable SET 능력 = 'ewrer' WHERE id = 1");
cmd.Open(m_pSet->m_session, strQuery, NULL);
cmd.Close();
AddAllRecord();
}
AddAllRecord() 函数
void CTouhouJGSView::AddAllRecord()
{
CString strTemp = _T("");
m_pSet->MoveFirst();
m_List.DeleteAllItems();
int i = 0;
do {
strTemp.Format(_T("%4d"), m_pSet->m_Id);
m_List.InsertItem(i, strTemp, 0);
m_List.SetItemText(i, 1, m_pSet->m_section);
m_List.SetItemText(i, 2, m_pSet->m_name);
m_List.SetItemText(i, 3, m_pSet->m_title);
m_List.SetItemText(i, 4, m_pSet->m_species);
m_List.SetItemText(i, 5, m_pSet->m_living);
m_List.SetItemText(i, 6, m_pSet->m_spell);
i++;
} while (m_pSet->MoveNext() == S_OK);
m_pSet->MoveFirst();
}
和程序图片
在此处输入图像描述
编辑: m_pSet 的定义
#pragma once
#include "afxcmn.h"
#include "afxwin.h"
class CTouhouJGSSet;
class CTouhouJGSView : public COleDBRecordView
{
protected: // serialization에서만 만들어집니다.
CTouhouJGSView();
DECLARE_DYNCREATE(CTouhouJGSView)
public:
#ifdef AFX_DESIGN_TIME
enum{ IDD = IDD_TOUHOUJGS_FORM };
#endif
CTouhouJGSSet* m_pSet; //here
// 특성입니다.
public:
CTouhouJGSDoc* GetDocument() const;
EDIT2:CTouhouJGSSet 类更改部分
//class CTouhouJGSSet : public CTable<CAccessor<CTouhouJGSSetAccessor> >
class CTouhouJGSSet : public CCommand<CAccessor<CTouhouJGSSetAccessor> >
{
......
HRESULT OpenRowset(DBPROPSET *pPropSet = NULL)
{
//HRESULT hr = Open(m_session, L"dbo.TouhouTable", pPropSet);
CString strSQL = _T("select * from dbo.TouhouTable");
HRESULT hr = Open(m_session, strSQL, pPropSet);
和 OnInitialUpdate() 函数
void CTouhouJGSView::OnInitialUpdate()
{
,,,,,
COleDBRecordView::OnInitialUpdate();
AddColumn(); //additional function
AddAllRecord(); //additional function
}
编辑 3:我说刷新按钮 在此处输入图像描述