www.gusucode.com > VC++开发的ACD树形策略编辑器-源码程序 > VC++开发的ACD树形策略编辑器-源码程序/code/DBConnection.cpp

    //Download by http://www.NewXing.com
// DBConnection.cpp : implementation file
//

#include "stdafx.h"
#include "dsACD_IVR.h"
#include "DBConnection.h"

#include "dsACD_IVRDoc.h"
#include "dsACD_IVRView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDBConnection dialog


CDBConnection::CDBConnection(CWnd* pParent /*=NULL*/)
	: CDialog(CDBConnection::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDBConnection)
	m_csType = _T("");
	m_csComment = _T("");
	m_csContent = _T("");
	m_csLink = _T("");
	m_csName = _T("");
	//}}AFX_DATA_INIT
}


void CDBConnection::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDBConnection)
	DDX_CBString(pDX, IDC_CONN_CMDTYPE, m_csType);
	DDX_Text(pDX, IDC_CONN_COMMENT, m_csComment);
	DDX_Text(pDX, IDC_CONN_CONTENT, m_csContent);
	DDX_Text(pDX, IDC_CONN_LINK, m_csLink);
	DDX_Text(pDX, IDC_CONN_NAME, m_csName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDBConnection, CDialog)
	//{{AFX_MSG_MAP(CDBConnection)
	ON_BN_CLICKED(IDC_BUTTON_CONN, OnButtonConn)
	ON_BN_CLICKED(IDC_BUTTON_FILE, OnButtonFile)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDBConnection message handlers
BOOL CDBConnection::OnInitDialog() 
{
	CDialog::OnInitDialog();

	m_pDBConnection=(CDialog *)GetDlgItem(IDD_DBCONNECTION);

	CComboBox *pCmdType=(CComboBox *)GetDlgItem(IDC_CONN_CMDTYPE);

	int nIndex = pCmdType->SelectString(-1, m_csType);
	pCmdType->SetCurSel(nIndex);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDBConnection::DisplayDlg(dsACDObjectBase *pObj)
{
	dsDBConn_INFO * pInfo = (dsDBConn_INFO*) pObj->Read();

	m_csName = pInfo->Name;	
	m_csLink = pInfo->Link;	
	m_csType = pInfo->Type;	
	if (pInfo->Content == "空")
		m_csContent = "";
	else 
		m_csContent = pInfo->Content;
	m_csComment = pInfo->Comment;

	if(DoModal()==IDOK)
	{
		pInfo->Name = m_csName;
		pInfo->Link = m_csLink;
		pInfo->Type = m_csType;
		if (m_csContent == "")
			pInfo->Content = "空";
		else
			pInfo->Content = m_csContent;
		pInfo->Comment = m_csComment;
	}
	else 
		return;
}

void CDBConnection::OnOK() 
{
	UpdateData(TRUE);

	if(m_csName.IsEmpty())
	{
		AfxMessageBox("名字不能空");
		return ;
	}
	
	CDialog::OnOK();
}

void CDBConnection::OnButtonConn() 
{	
	g_DataSource.Open((HWND)m_pDBConnection, DBPROMPTOPTIONS_WIZARDSHEET);

	BSTR tmpBStr;
	g_DataSource.GetInitializationString( &tmpBStr);
	m_csLink =_com_util::ConvertBSTRToString(tmpBStr);
	UpdateData(FALSE);
}

void CDBConnection::OnButtonFile() 
{
	g_DataSource.OpenWithPromptFileName((HWND)m_pDBConnection, DBPROMPTOPTIONS_NONE, NULL);	
	BSTR tmpBStr;
	g_DataSource.GetInitializationString( &tmpBStr);
	m_csLink =_com_util::ConvertBSTRToString(tmpBStr);
	UpdateData(FALSE);
}