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

📄 tanchu.cpp

📁 vc+access+ado编写的名片管理程序. 适合初学者学习.
💻 CPP
字号:
// tanchu.cpp : implementation file
//

#include "stdafx.h"
#include "333.h"
#include "tanchu.h"

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

/////////////////////////////////////////////////////////////////////////////
// tanchu dialog
int i1;
CString     vname1,vage1,vcompany1,vlocation1,vphone1,vcellphone1,vfax1,vwebsite1,vdate1,vbeizhu1;
_variant_t  var1;

tanchu::tanchu(CWnd* pParent /*=NULL*/)
	: CDialog(tanchu::IDD, pParent)
{
	//{{AFX_DATA_INIT(tanchu)
	m_snum = _T("");
	//}}AFX_DATA_INIT
	
}


void tanchu::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(tanchu)
	DDX_Control(pDX, IDC_LIST1, m_list);
	DDX_Text(pDX, IDC_snum, m_snum);
	//}}AFX_DATA_MAP
	
	
}


BEGIN_MESSAGE_MAP(tanchu, CDialog)
	//{{AFX_MSG_MAP(tanchu)
	ON_NOTIFY(NM_RDBLCLK, IDC_LIST1, OnRdblclkList1)
	ON_MESSAGE(WM_INIT,Init)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// tanchu message handlers

void tanchu::OnOK() 
{
	m_pRecordset->Close();
	m_pConnection->Close();
	CDialog::OnOK();
}

void tanchu::Init(WPARAM wParam, LPARAM lParam)
{
	DWORD dw=m_list.GetExtendedStyle();
	dw|=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP;//|LVS_EX_CHECKBOXES;
	m_list.SetExtendedStyle(dw); 

	//CFont font;
	//font.CreateFont(0,0,100,10,FW_NORMAL,false,false,false,GB2312_CHARSET,0,DEFAULT_QUALITY,2,DEFAULT_PITCH,"VC");//新建一种字体
	//m_list.SetFont(&font,TRUE);
	//SetWindowText("搜索结果");
	
	//m_list.DeleteAllItems(); 
	m_list.InsertColumn(0,"姓名");
	m_list.InsertColumn(1,"工作单位");
	m_list.InsertColumn(2,"地址");
	m_list.InsertColumn(3,"电话");
	m_list.InsertColumn(4,"手机");
	m_list.InsertColumn(5,"传真");
	m_list.InsertColumn(6,"网址");
	m_list.InsertColumn(7,"日期");
	m_list.InsertColumn(8,"备注");
	m_list.SetColumnWidth(0,85);
	m_list.SetColumnWidth(1,85);
	m_list.SetColumnWidth(2,85);
	m_list.SetColumnWidth(3,85);
	m_list.SetColumnWidth(4,85);
	m_list.SetColumnWidth(5,85);
	m_list.SetColumnWidth(6,85);
	m_list.SetColumnWidth(7,85);
	m_list.SetColumnWidth(8,85);
	SetWindowText("搜索结果");
	show();
}

void tanchu::show()
{
	LockWindowUpdate();
	m_pConnection.CreateInstance(__uuidof(Connection));
	try                 
	{	
		m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb","","",adModeUnknown);
	}
	catch(_com_error e)
	{
		MessageBox("数据库连接失败!","警告!!!");
	} 

	i1=0;
	m_pRecordset.CreateInstance(__uuidof(Recordset));
	m_pRecordset->Open("SELECT * FROM show",               
		m_pConnection.GetInterfacePtr(),
		adOpenDynamic,
		adLockOptimistic,
		adCmdText);
	if(!m_pRecordset->adoEOF)
	{
		m_pRecordset->MoveFirst();
		while(!m_pRecordset->adoEOF)//当表还未结束                                                     			
		{			                
			vname1="";vcompany1="";vlocation1="";vphone1="";vcellphone1="";vfax1="";vwebsite1="";vdate1="";vbeizhu1="";
			var1 = m_pRecordset->GetCollect("name");                                                                            
			vname1=(LPCSTR)_bstr_t(var1);
			var1 = m_pRecordset->GetCollect("company");
			if(var1.vt!=VT_NULL)vcompany1=(LPCSTR)_bstr_t(var1);
			var1 = m_pRecordset->GetCollect("location");
			if(var1.vt!=VT_NULL)vlocation1=(LPCSTR)_bstr_t(var1);
			var1 = m_pRecordset->GetCollect("phone");
			if(var1.vt!=VT_NULL)vphone1=(LPCSTR)_bstr_t(var1);
			var1 = m_pRecordset->GetCollect("cellphone");
			if(var1.vt!=VT_NULL)vcellphone1=(LPCSTR)_bstr_t(var1);
			var1 = m_pRecordset->GetCollect("fax");
			if(var1.vt!=VT_NULL)vfax1=(LPCSTR)_bstr_t(var1);
			var1 = m_pRecordset->GetCollect("website");
			if(var1.vt!=VT_NULL)vwebsite1=(LPCSTR)_bstr_t(var1);
			var1 = m_pRecordset->GetCollect("date");
			if(var1.vt!=VT_NULL)vdate1=(LPCSTR)_bstr_t(var1);
			var1 = m_pRecordset->GetCollect("beizhu");
			if(var1.vt!=VT_NULL)vbeizhu1=(LPCSTR)_bstr_t(var1);
			m_list.InsertItem(i1,vname1);
			m_list.SetItemText(i1,1,vcompany1);
			m_list.SetItemText(i1,2,vlocation1);
			m_list.SetItemText(i1,3,vphone1);
			m_list.SetItemText(i1,4,vcellphone1);
			m_list.SetItemText(i1,5,vfax1);
			m_list.SetItemText(i1,6,vwebsite1);
			m_list.SetItemText(i1,7,vdate1);
			m_list.SetItemText(i1,8,vbeizhu1);
			m_list.Update(true);
			m_pRecordset->MoveNext();//指向下一个数据
			i1++;
		}
	}
	UnlockWindowUpdate();
	m_snum.Format("本次搜索一共找到%d个人",i1);
	UpdateData(false);
}


void tanchu::OnRdblclkList1(NMHDR* pNMHDR, LRESULT* pResult) //显示双击的CListCtrl的信息
{
	CString a,b,c,d,e,f,g,h,i;
	int iOption;
    iOption = m_list.GetSelectedCount(); //得到当前选中的行
    POSITION pos = m_list.GetFirstSelectedItemPosition(); //如果选中一行
    if(pos)
    {        
        int nItem = m_list.GetNextSelectedItem(pos);
        a=m_list.GetItemText(nItem,0); 
        b=m_list.GetItemText(nItem,1);
		c=m_list.GetItemText(nItem,2); 
        d=m_list.GetItemText(nItem,3);
		e=m_list.GetItemText(nItem,4); 
        f=m_list.GetItemText(nItem,5);
		g=m_list.GetItemText(nItem,6);
		h=m_list.GetItemText(nItem,7);
		i=m_list.GetItemText(nItem,8);
		MessageBox("Name:  "+a+"\n\nCompany:  "+b+"\n\nLocation:  "+c+"\n\nPhone:  "+d
						+"\n\nCellphone:  "+e+"\n\nFax:  "+f+"\n\nWebsite:  "+g+"\n\nDate:  "+h+"                    "+"\n\nComment:  "+i,"个人信息");
		
        *pResult = 0;  
    }
}


void tanchu::OnCancel() 
{
	m_pRecordset->Close();
	m_pConnection->Close();
	CDialog::OnCancel();
}

⌨️ 快捷键说明

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