⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 insertattrdlg.cpp

📁 用C++写的数据库软件
💻 CPP
字号:
// InsertAttrDlg.cpp : implementation file
//

#include "stdafx.h"
#include "fksqxt.h"
#include "InsertAttrDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CInsertAttrDlg dialog


CInsertAttrDlg::CInsertAttrDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CInsertAttrDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CInsertAttrDlg)
	m_ATTR = _T("");
	m_ATTRMC = _T("");
	m_DEC = _T("");
	m_LEN = _T("");
	m_VALEXAMPLE = _T("");
	//}}AFX_DATA_INIT
	m_strATTR = "";
}


void CInsertAttrDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CInsertAttrDlg)
	DDX_Control(pDX, IDC_ComboTYPE, m_ComboTYPE);
	DDX_Text(pDX, IDC_ATTR, m_ATTR);
	DDX_Text(pDX, IDC_ATTRMC, m_ATTRMC);
	DDX_Text(pDX, IDC_DEC, m_DEC);
	DDX_Text(pDX, IDC_LEN, m_LEN);
	DDX_Text(pDX, IDC_VALEXAMPLE, m_VALEXAMPLE);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CInsertAttrDlg, CDialog)
	//{{AFX_MSG_MAP(CInsertAttrDlg)
	ON_BN_CLICKED(IDC_OK, OnSubmitSave)
	ON_BN_CLICKED(IDC_CANCEL, OnCancel)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CInsertAttrDlg message handlers

void CInsertAttrDlg::OnSubmitSave() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	_RecordsetPtr rs;
	EncaADO encaAdo;
	encaAdo.InitADOConn("","","","dbo.FKSQXT");
	CString strATTR;
	strATTR.Format("select * from ATTRIBUTE where ATTR = '%s'",m_ATTR);
	rs = encaAdo.GetRecordSet(LPCSTR(strATTR));
	if(rs->GetRecordCount() > 0)
	{
		MessageBox("该属性编号已存在!");
		m_ATTR = "";
		UpdateData(FALSE);
		return;
	}
	CString str;
	CString type;
	m_ComboTYPE.GetWindowText(type);
	if(m_strATTR == "")
	{
		if( m_ATTR == "")
		{
			MessageBox("属性编号不能为空!");
			return;
		}
		str.Format("insert into ATTRIBUTE (ATTR,ATTRMC,TYPE,LEN,DEC,VALEXAMPLE) values(\
			'%s','%s','%s','%s','%s','%s')",m_ATTR,m_ATTRMC,type,m_LEN,m_DEC,m_VALEXAMPLE);
		if(encaAdo.ExecuteSQL(LPCSTR(str)))
		{
			MessageBox("添加属性成功!");
		}
		else
		{
			MessageBox("添加失败!");
		}
	}
	else
	{
		str = "update ATTRIBUTE set ";
		//ATTR
		if( m_ATTR == "")
		{
			MessageBox("属性编号不能为空!");
			return;
		}
		//ATTRMC
		if( m_ATTRMC != "")
		{
			str += "ATTRMC ='";
			str += m_ATTRMC;
		}
		//TYPE
		CString temp;
		m_ComboTYPE.GetWindowText(temp);
		if(temp != "")
		{
			str += "',TYPE ='";
			str += temp;
		}
		//DEC
		if( m_DEC != "")
		{
			str += "',DEC ='";
			str += m_DEC;
		}
		//LEN
		if( m_LEN != "")
		{
			str += "',LEN ='";
			str += m_LEN;
		}
		//VALEXAMPLE
		if(m_VALEXAMPLE != "")
		{
			str += "',VALEXAMPLE ='";
			str += m_VALEXAMPLE;
		}
		str += "' where ATTR = '" + m_ATTR;
		str += "'";
		if(encaAdo.ExecuteSQL(LPCSTR(str)))
		{
			MessageBox("修改成功!");
		}
		else
		{
			MessageBox("修改失败!");
		}
	}

	this->EndDialog(1);
}

BOOL CInsertAttrDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	if(m_strATTR == "")
	{
		return TRUE;
	}
	_RecordsetPtr rs;
	EncaADO encaAdo;
	_variant_t var ;
	encaAdo.InitADOConn("","","","dbo.FKSQXT");
	CString strSQL;
	strSQL.Format("select * from ATTRIBUTE where ATTR = '%s'",m_strATTR);
	
	//MessageBox(strSQL);
	
	rs = encaAdo.GetRecordSet(LPCSTR(strSQL));
	rs->MoveFirst();
	//ATTR
	m_ATTR = m_strATTR;
	//ATTRMC
	var = rs->GetCollect("ATTRMC");
	if(var.vt != VT_NULL)
	{
		m_ATTRMC = LPCSTR(_bstr_t(var));
//		MessageBox("m_ATTRMC : " +m_ATTRMC);
	}
	//TYPE
	var = rs->GetCollect("TYPE");
	if(var.vt != VT_NULL)
	{
		m_ComboTYPE.SelectString(0,LPCSTR(_bstr_t(var)));
	}
	//DEC
	var = rs->GetCollect("DEC");
	if(var.vt != VT_NULL)
	{
		m_DEC =  LPCSTR(_bstr_t(var));
//		MessageBox("m_DEC : " +m_DEC);
	}
	//LEN
	var = rs->GetCollect("LEN");
	if(var.vt != VT_NULL)
	{
		m_LEN = LPCSTR(_bstr_t(var));
//		MessageBox("m_LEN : " +m_LEN);
	}
	UpdateData(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CInsertAttrDlg::readATTR(CString attr)
{
	m_strATTR = attr;
}

void CInsertAttrDlg::OnCancel() 
{
	this->EndDialog(1);	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -