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

📄 inserttabledlg.cpp

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

#include "stdafx.h"
#include "fksqxt.h"
#include "InsertTableDlg.h"
#include "ShowStringDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CInsertTableDlg dialog


CInsertTableDlg::CInsertTableDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CInsertTableDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CInsertTableDlg)
	m_ADDR = _T("FKSQXT");
	m_BH = _T("");
	m_BHMC = _T("");
	m_BZ = _T("");
	m_ZXTMC2 = _T("");
	//}}AFX_DATA_INIT
}


void CInsertTableDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CInsertTableDlg)
	DDX_Control(pDX, IDC_ComboXZ, m_ComboXZ);
	DDX_Control(pDX, IDC_ComboZXT2, m_ComboZXT2);
	DDX_Control(pDX, IDC_ComboLB, m_ComboLB);
	DDX_Text(pDX, IDC_ADDR, m_ADDR);
	DDX_Text(pDX, IDC_BH, m_BH);
	DDX_Text(pDX, IDC_BHMC, m_BHMC);
	DDX_Text(pDX, IDC_BZ, m_BZ);
	DDX_Text(pDX, IDC_STATIC_ZXTMC2, m_ZXTMC2);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CInsertTableDlg, CDialog)
	//{{AFX_MSG_MAP(CInsertTableDlg)
	ON_BN_CLICKED(IDC_Submit, OnSubmit)
	ON_BN_CLICKED(IDC_CANCEL, OnCancel)
	ON_CBN_SELCHANGE(IDC_ComboZXT2, OnSelchangeComboZXT2)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CInsertTableDlg message handlers

void CInsertTableDlg::OnSubmit() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	_RecordsetPtr rs;
	EncaADO encaAdo;
	encaAdo.InitADOConn("","","","dbo.FKSQXT");
	CString strZXT;
	m_ComboZXT2.GetWindowText(strZXT);
	CString strSQL;
	strSQL.Format("select * from TABLEZD where ZXT = '%s' AND BH = '%s' AND ADDR = '%s'",
			strZXT,m_BH,m_ADDR);
	rs = encaAdo.GetRecordSet(LPCSTR(strSQL));
	if(rs->GetRecordCount() > 0)
	{
		MessageBox("该属性编号已存在!");
		m_BH = "";
		UpdateData(FALSE);
		return;
	}
	CString strLB;
	m_ComboLB.GetWindowText(strLB);
	CString strXZ;
	m_ComboXZ.GetWindowText(strXZ);
	CString strZXT2;
	m_ComboZXT2.GetWindowText(strZXT2);
	if(m_strZXT == "")
	{
		if( m_BH == "")
		{
			MessageBox("二维表编号不能为空!");
			return;
		}
		strSQL.Format("insert into TABLEZD (ZXT,ZXTMC,BH,MC,LB,XZ,ADDR,BZ,EXIST) values(\
			'%s','%s','%s','%s','%s','%s','%s','%s','否')",strZXT2,m_ZXTMC2,m_BH,m_BHMC,strLB,strXZ,m_ADDR,m_BZ);
		if(encaAdo.ExecuteSQL(LPCSTR(strSQL)))
		{
			MessageBox("添加属性成功!");
		}
		else
		{
			MessageBox("添加失败!");
		}
	}
	else
	{
		CString temp;
		strSQL = "update TABLEZD set ";
		//ZXT
		if( m_BH == "")
		{
			MessageBox("二维表编号不能为空!");
			return;
		}
		//ZXTMC
		if( m_ZXTMC2 != "")
		{
			strSQL += "ZXTMC ='";
			strSQL += m_ZXTMC2;
		}
		//BHMC
		if(m_BHMC != "")
		{
			strSQL += "',MC ='";
			strSQL += m_BHMC;
		}
		//LB
		m_ComboLB.GetWindowText(temp);
		if( temp != "")
		{
			strSQL += "',LB ='";
			strSQL += temp;
		}
		//XZ
		m_ComboXZ.GetWindowText(temp);
		if(temp != "")
		{
			strSQL += "',XZ ='";
			strSQL += temp;
		}
		//BZ
		if( m_BZ != "")
		{
			strSQL += "',BZ ='";
			strSQL += m_BZ;
		}
	//	strSQL += "' EXIST = '否' ";
		temp.Format("' where ZXT = '%s' AND BH = '%s' AND ADDR = '%s'",strZXT2,m_BH,m_ADDR);
		strSQL += temp;
		if(encaAdo.ExecuteSQL(LPCSTR(strSQL)))
		{
			MessageBox("修改成功!");
		}
		else
		{
			MessageBox("修改失败!");
		}
	}

	this->EndDialog(1);
}

void CInsertTableDlg::OnCancel() 
{
	this->EndDialog(0);	
}

BOOL CInsertTableDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	_RecordsetPtr rs;
	EncaADO encaAdo;
	_variant_t var;
	encaAdo.InitADOConn("","","","dbo.FKSQXT");
	CString str;
	//ComboZXT2
	str.Format("select * from BH_ZXT");
	rs = encaAdo.GetRecordSet(LPCSTR(str));
	rs->MoveFirst();
	while(!rs->adoEOF)
	{
		var = rs->GetCollect("ZXT");
		if(var.vt != VT_NULL)
		{
			m_ComboZXT2.AddString(LPCSTR(_bstr_t(var)));
		}
		rs->MoveNext();
	}

	if(m_strZXT != "")
	{
		CString strSQL;
		strSQL.Format("select * from TABLEZD where ZXT = '%s' AND BH = '%s' AND ADDR = '%s'",
			m_strZXT,m_strBH,m_strADDR);
//		MessageBox(strSQL);
/*		CShowStringDlg dlg;
		dlg.SetString(strSQL);
		dlg.DoModal();
		return TRUE;
*/		rs = encaAdo.GetRecordSet(LPCSTR(strSQL));
		rs->MoveFirst();
		
		//ZXT
		m_ComboZXT2.SelectString(0,m_strZXT);
		//ZXTMC
		var = rs->GetCollect("ZXTMC");
		if(var.vt != VT_NULL)
		{
			m_ZXTMC2 = LPCSTR(_bstr_t(var));
//			MessageBox(m_ZXTMC2);
		}
		//BH
		var = rs->GetCollect("BH");
		if(var.vt != VT_NULL)
		{
			m_BH = LPCSTR(_bstr_t(var));
//			MessageBox(m_BH);
		}
		//BHMC
		var = rs->GetCollect("MC");
		if(var.vt != VT_NULL)
		{
			m_BHMC = LPCSTR(_bstr_t(var));
//			MessageBox(m_BHMC);
		}
		//LB
		var = rs->GetCollect("LB");
		if(var.vt != VT_NULL)
		{
			m_ComboLB.SelectString(0,LPCSTR(_bstr_t(var)));
		}
		//XZ
		var = rs->GetCollect("XZ");
		if(var.vt != VT_NULL)
		{
			m_ComboXZ.SelectString(0,LPCSTR(_bstr_t(var)));
		}
		//BZ
		var = rs->GetCollect("BZ");
		if(var.vt != VT_NULL)
		{
			m_BZ = LPCSTR(_bstr_t(var));
//			MessageBox(m_BZ);
		}
		//ADDR
	}
	UpdateData(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CInsertTableDlg::OnSelchangeComboZXT2() 
{
	// TODO: Add your control notification handler code here
	
	_RecordsetPtr rs;
	EncaADO encaAdo;
	_variant_t var;
	// 连接数据库
	//JBRMC
	CString str = "select * from BH_ZXT where ZXT ='";
	CString temp ;
	m_ComboZXT2.GetWindowText(temp);
	str += temp;
	str += "'";
	
	rs = encaAdo.GetRecordSet(LPCSTR(str));
	var = rs->GetCollect("ZXTMC");
	if(var.vt != VT_NULL)
	{
		m_ZXTMC2 = LPCSTR(_bstr_t(var));
	}
	this->GetDlgItem(IDC_STATIC_ZXTMC2)->SetWindowText(m_ZXTMC2);	
}

bool CInsertTableDlg::readKey(CString str0, CString str2, CString str5)
{
	m_strZXT = str0;
	m_strBH = str2;
	m_strADDR = str5;
	return true;
}

⌨️ 快捷键说明

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