📄 linedlg.cpp
字号:
// LineDlg.cpp : implementation file
//
#include "stdafx.h"
#include "find.h"
#include "LineDlg.h"
#include "findDlg.h"
#include "path.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CFindApp theApp; // 在此引用应用类中的theApp来获取库连接指针
/////////////////////////////////////////////////////////////////////////////
// CLineDlg dialog
CLineDlg::CLineDlg(CWnd* pParent /*=NULL*/)
: CDialog(CLineDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CLineDlg)
m_edit = _T("");
m_line = _T("");
//}}AFX_DATA_INIT
}
void CLineDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLineDlg)
DDX_Control(pDX, IDC_COMBO1, m_Combo3);
DDX_Text(pDX, IDC_EDIT1, m_edit);
DDX_CBString(pDX, IDC_COMBO1, m_line);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLineDlg, CDialog)
//{{AFX_MSG_MAP(CLineDlg)
ON_BN_CLICKED(IDC_LINE, OnLine)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLineDlg message handlers
BOOL CLineDlg::OnInitDialog()
{
CDialog::OnInitDialog();
_variant_t var;
// TODO: Add extra initialization here
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open("SELECT * FROM 线路总表", // 查询站点表中所有字段
theApp.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return false;
}
// 读入库中各字段并加入列表框中
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("线路");
if(var.vt != VT_NULL)
m_Combo3.AddString((LPCSTR)_bstr_t(var));
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CLineDlg::OnLine()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
_variant_t var;
long num=0;
m_edit = "线路名称:" + m_line +"\r\n";
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open("SELECT * FROM 线路总表", // 查询站点表中所有字段
theApp.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("线路总表内数据为空");
}
// 读入库中各字段并加入列表框中
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("线路");
if(var.vt != VT_NULL)
{
if((LPCSTR)_bstr_t(var) == m_line)
{
var = m_pRecordset->GetCollect("汽车类型");
m_edit += "汽车类型:";
m_edit += (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("票价");
m_edit += " 票价:";
m_edit += (LPCSTR)_bstr_t(var);
m_edit += " 元";
var = m_pRecordset->GetCollect("发车时间");
m_edit += "\r\n发车时间:";
m_edit += (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("结束时间");
m_edit += "\r\n结束时间:";
m_edit += (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("站点数");
num = var;
m_edit += "\r\n站点数:";
m_edit += (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("起点站");
m_edit += "\r\n起点站:";
m_edit += (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("终点站");
m_edit += "\r\n终点站:";
m_edit += (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("线路总长");
m_edit += "\r\n线路总长:";
m_edit += (LPCSTR)_bstr_t(var);
break;
}
}
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
m_edit += "\r\n乘车线路:";
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(_variant_t("SELECT * FROM " + m_line), // 查询站点表中所有字段
theApp.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("m_line+表内数据为空");
}
// 读入库中各字段并加入列表框中
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("站点");
if(var.vt != VT_NULL)
{
if(num>1)
{
m_edit +=(LPCSTR)_bstr_t(var);
m_edit +="-";
num--;
}
else
{
m_edit +=(LPCSTR)_bstr_t(var);
}
}
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -