📄 listwellpm.cpp
字号:
// ListWellPM.cpp : implementation file
//
#include "stdafx.h"
#include "drawcli.h"
#include "ListWellPM.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CListWellPM dialog
IMPLEMENT_DYNCREATE(CListWellPM, CDialog)
CListWellPM::CListWellPM(CWnd* pParent /*=NULL*/)
: CDialog(CListWellPM::IDD, pParent)
{
//{{AFX_DATA_INIT(CListWellPM)
m_wellnum = _T("");
//}}AFX_DATA_INIT
}
void CListWellPM::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CListWellPM)
DDX_Control(pDX, IDC_SWS_LISTWELLS, m_ListWells);
DDX_Control(pDX, IDC_SWS_COMBOQKDY, m_ComboQKDY);
DDX_Text(pDX, IDC_SWS_WELLNUM, m_wellnum);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CListWellPM, CDialog)
//{{AFX_MSG_MAP(CListWellPM)
ON_CBN_SELCHANGE(IDC_SWS_COMBOQKDY, OnSelchangeSwsComboqkdy)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CListWellPM message handlers
BOOL CListWellPM::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "select distinct qkdy from daa01";//查询出所有区块
//执行SELETE语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
//返回各列的值
if (m_pRecordset->ADOEOF)
return FALSE;
while (!m_pRecordset->ADOEOF)
{
m_ComboQKDY.AddString((char*)_bstr_t(m_pRecordset->GetCollect("qkdy")));
m_pRecordset->MoveNext() ;
}
//断开与数据库的连接
m_AdoConn.ExitConnect();
//m_listqkdy.SetCurSel(0);
//处理Listview
char * szColumns[]= {"井号"};
LV_COLUMN lvc;
lvc.mask = LVCF_FMT|
LVCF_WIDTH|
LVCF_TEXT|
LVCF_SUBITEM;
lvc.fmt = LVCFMT_LEFT;
m_ListWells.SetExtendedStyle(LVS_EX_FULLROWSELECT); //report style
//插入定义的列头
for(int i=0;i<sizeof(szColumns)/sizeof(szColumns[0]);i++)
{
switch(i)
{
case 0: //名称
lvc.fmt = LVCFMT_LEFT;
lvc.cx = m_ListWells.GetStringWidth(szColumns[1]) + 50;
break;
//case 1: //
// lvc.fmt = LVCFMT_LEFT;
// lvc.cx = m_ListWells.GetStringWidth(szColumns[i]) + 30;
// break;
default:
lvc.fmt = LVCFMT_CENTER; break;
}
lvc.pszText = szColumns[i];
lvc.iSubItem = i;
m_ListWells.InsertColumn(i,&lvc);
}
//UpdateData(FALSE);
//GetListWell();
return FALSE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CListWellPM::OnSelchangeSwsComboqkdy()
{
// TODO: Add your control notification handler code here
GetListWell();
}
void CListWellPM::OnOK()
{
// TODO: Add extra validation here
CDialog::OnOK();
}
void CListWellPM::GetListWell()
{
UpdateData(TRUE);
//m_ComboQKDY.ResetContent();
//int i = m_ComboQKDY.GetCurSel();
CString str = "";
int iIndex = 0;
LV_ITEM lvitem;
char charTempvar[10];
m_ComboQKDY.GetLBText (m_ComboQKDY.GetCurSel(),str);
if (!str.IsEmpty() && "" != str)
{
_bstr_t vSQL;
vSQL = "select * from daa01 where qkdy='"+ str +"' order by jh";//查询出区块内的所有井
_RecordsetPtr m_pRecordset;
m_AdoConn.OnInitADOConn();
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
//返回各列的值
if (m_pRecordset->ADOEOF)
{
m_AdoConn.ExitConnect();
return ;
}
//int iCnt = 0;
while (!m_pRecordset->ADOEOF)
{
lvitem.mask = LVIF_TEXT | LVIF_STATE;
lvitem.state =0;
lvitem.stateMask =0;
lvitem.iItem = iIndex;
lvitem.iSubItem = 0;
strcpy(charTempvar,"");
strcpy(charTempvar, m_pRecordset->GetCollect("JH").operator _bstr_t().operator const char *());
lvitem.pszText = LPTSTR(charTempvar);
m_ListWells.InsertItem(&lvitem);
//m_ListWells.SetItemText(iIndex,0,(char*)_bstr_t(m_pRecordset->GetCollect("JH")));
//m_ListWells.AddString((char*)_bstr_t(m_pRecordset->GetCollect("JH")));
iIndex++;
m_pRecordset->MoveNext() ;
}
//str.Format("%d",i)
m_wellnum.Format("[ %d ]口井",iIndex);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -