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

📄 storedlg.cpp

📁 这个一个VC连接MSSQL数据库的小软件
💻 CPP
字号:
// StoreDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Rent.h"
#include "StoreDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CStoreDlg dialog


CStoreDlg::CStoreDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CStoreDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CStoreDlg)
	m_dvdname = _T("");
	m_dvdnum = _T("");
	m_dvdnote = _T("");
	//}}AFX_DATA_INIT
}


void CStoreDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CStoreDlg)
	DDX_Text(pDX, IDC_EDIT_NAME, m_dvdname);
	DDX_Text(pDX, IDC_EDIT_NUM, m_dvdnum);
	DDX_Text(pDX, IDC_EDIT_NOTE, m_dvdnote);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CStoreDlg, CDialog)
	//{{AFX_MSG_MAP(CStoreDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CStoreDlg message handlers

BOOL CStoreDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	//初始化数据库连接
	HRESULT hr;
	try
	{
		//实例化连接对象
		hr=m_pConnection.CreateInstance(__uuidof(Connection));
		if(SUCCEEDED(hr))
		{
			//设置连接串属性为UDL文件
			m_pConnection->ConnectionString="File Name=my_data1.udl";
			//设置等待连接打开的时间为20s
			m_pConnection->ConnectionTimeout=20;
			hr=m_pConnection->Open("","","",adConnectUnspecified);
			if(FAILED(hr))
			{
				AfxMessageBox("no open fail!");
				return TRUE;
			}
		}
		else
		{
			AfxMessageBox("createinsrance of Connection fail!");
			return TRUE;
		}
	}
	catch(_com_error e)
	{
		//给出异常信息
		_bstr_t bstrSource(e.Source());
		_bstr_t bstrDescription(e.Description());
		AfxMessageBox(bstrSource+bstrDescription);
		return TRUE;
	}
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CStoreDlg::OnOK() 
{
	// TODO: Add extra validation here
	GetDlgItem(IDC_EDIT_NAME)->GetWindowText(m_dvdname);
	GetDlgItem(IDC_EDIT_NUM)->GetWindowText(m_dvdnum);
	GetDlgItem(IDC_EDIT_NOTE)->GetWindowText(m_dvdnote);
	if(m_dvdname.IsEmpty())
	{
		MessageBox("请填写影碟名称!","提示",MB_OK|MB_ICONINFORMATION);
		return;
	}
	if(m_dvdnum.IsEmpty())
	{
		MessageBox("请填写影碟数量!","提示",MB_OK|MB_ICONINFORMATION);
		return;
	}
	_RecordsetPtr pDVDRecordset;
	pDVDRecordset.CreateInstance(__uuidof(Recordset));
	HRESULT hr;
	try
	{
		hr=pDVDRecordset->Open("select * from tbDVDInfo",m_pConnection.GetInterfacePtr(),
			adOpenDynamic,adLockOptimistic,adCmdText);
		if(SUCCEEDED(hr))
		{
			pDVDRecordset->AddNew();
			pDVDRecordset->PutCollect("DVDName",_variant_t(m_dvdname));
			pDVDRecordset->PutCollect("Num",_variant_t(m_dvdnum));
			pDVDRecordset->PutCollect("Note",_variant_t(m_dvdnote));
			pDVDRecordset->Update();
		}
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
		return;
	}
	pDVDRecordset->Close();
	pDVDRecordset=NULL;
	CDialog::OnCancel();
}

⌨️ 快捷键说明

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