home *** CD-ROM | disk | FTP | other *** search
- // DlgParam.cpp : implementation file
- //
- // This is a part of the Microsoft Foundation Classes C++ library.
- // Copyright (C) 1992-1998 Microsoft Corporation
- // All rights reserved.
- //
- // This source code is only intended as a supplement to the
- // Microsoft Foundation Classes Reference and related
- // electronic documentation provided with the library.
- // See these sources for detailed information regarding the
- // Microsoft Foundation Classes product.
-
- #include "stdafx.h"
- #include "DaoView.h"
- #include "DlgParam.h"
-
- #ifdef _DEBUG
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
-
- /////////////////////////////////////////////////////////////////////////////
- // CDlgParams dialog
-
-
- CDlgParams::CDlgParams(CWnd* pParent /*=NULL*/)
- : CDialog(CDlgParams::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CDlgParams)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
- }
-
-
- void CDlgParams::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CDlgParams)
- DDX_Control(pDX, IDC_LISTVIEW1, m_ctlList);
- //}}AFX_DATA_MAP
- }
-
-
- BEGIN_MESSAGE_MAP(CDlgParams, CDialog)
- //{{AFX_MSG_MAP(CDlgParams)
- ON_NOTIFY(LVN_ENDLABELEDIT, IDC_LISTVIEW1, OnEndlabeleditListview1)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
-
- /////////////////////////////////////////////////////////////////////////////
- // CDlgParams message handlers
-
- void CDlgParams::SetInfo(CDaoDatabase* pDB,LPCTSTR lpszQueryDef)
- {
- m_pDB = pDB;
- m_strQueryDef = lpszQueryDef;
- }
-
-
- BOOL CDlgParams::OnInitDialog()
- {
- CDialog::OnInitDialog();
-
- m_ctlList.AddColumn(_T("Value "),0);
- m_ctlList.AddColumn(_T("Parameter Name"),1);
-
- CDaoQueryDef qd(m_pDB);
- CDaoParameterInfo paramInfo;
- int nParams;
- try{
- qd.Open(m_strQueryDef);
- nParams = qd.GetParameterCount();
- for (int i=0;i < nParams;i++){
- qd.GetParameterInfo(i,paramInfo);
- COleVariant var = qd.GetParamValue(i);
- m_ctlList.AddItem(i,0,CCrack::strVARIANT(var));
- m_ctlList.AddItem(i,1,paramInfo.m_strName);
- }
- }
- catch(CDaoException* e){
- // ... Do nothing. Used to catch security violations opening tables.
- e->Delete();
- }
- qd.Close();
-
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
- }
-
- void CDlgParams::OnEndlabeleditListview1(NMHDR* pNMHDR, LRESULT* pResult)
- {
- LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;
-
- m_ctlList.SetItemText(pDispInfo->item.iItem,pDispInfo->item.iSubItem,pDispInfo->item.pszText);
- CDaoQueryDef qd(m_pDB);
- try{
- qd.Open(m_strQueryDef);
- qd.SetParamValue(pDispInfo->item.iItem,COleVariant(pDispInfo->item.pszText, VT_BSTRT));
- }
- catch(CDaoException* e){
- // ... Do nothing. Used to catch security violations opening tables.
- e->Delete();
- }
- qd.Close();
- *pResult = 0;
- }
-