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

📄 brow.cpp

📁 ado操作数据库。oracle,sql2000只需更换连接字符串即可。 另外说明 我是原创作者。 欢迎大家和我交流 msn:hans_38@163.net
💻 CPP
📖 第 1 页 / 共 2 页
字号:
				
				pRs->GetFieldValue("username",TempSql);
				m_ListCtrl.SetItemText(i, 3, (LPCTSTR)TempSql);
				
				pRs->GetFieldValue("password",TempSql);
				m_ListCtrl.SetItemText(i, 4, (LPCTSTR)TempSql);

				pRs->GetFieldValue("date", TempSql);
				m_ListCtrl.SetItemText(i, 5, (LPCTSTR)TempSql);

				pRs->GetFieldValue("remark", TempSql);
				m_ListCtrl.SetItemText(i, 6, (LPCTSTR)TempSql);
				
				pRs->MoveNext();
			}
			pRs->Close();
		}
		else
			AfxMessageBox("记录集创建失败");
		delete pRs;	
}

void CBrow::OnTelelist() 
{
	m_DataTableType = telelist;
	HeaderTele();
	m_ListCtrl.DeleteAllItems();
	Select("SELECT *  FROM telelist Order By [date] DESC");
	GetDlgItem(IDC_COMBO_SELECT)->ShowWindow(SW_SHOW);

}

void CBrow::OnForum() 
{
	HeaderForum();
	m_DataTableType = forum;
	m_ListCtrl.DeleteAllItems();
}

void CBrow::OnMail() 
{
	HeaderMail();
	m_DataTableType = mail;
	m_ListCtrl.DeleteAllItems();
	GetDlgItem(IDC_COMBO_SELECT)->ShowWindow(SW_HIDE);
}

void CBrow::HeaderMail()
{
	int i;
	for(i = 0; i < 10 ; i++)
		m_ListCtrl.DeleteColumn(0);
	
	LONG lStyle = m_ListCtrl.SendMessage
		(LVM_GETEXTENDEDLISTVIEWSTYLE);
	lStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | 
		LVS_EX_HEADERDRAGDROP;
	m_ListCtrl.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
		(LPARAM)lStyle);
	LV_COLUMN lvc;
	
	lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/;
	
	lvc.iSubItem = 0;
	lvc.pszText = (char *)"序号";
	lvc.cx = 50;
	m_ListCtrl.InsertColumn(0,&lvc);
	
	lvc.iSubItem = 1;
	lvc.pszText = (char *)"电子邮件";
	lvc.cx = 200;
	m_ListCtrl.InsertColumn(1,&lvc);
	
	lvc.iSubItem = 2;
	lvc.pszText = (char *)"密码";
	lvc.cx =150;
	m_ListCtrl.InsertColumn(2,&lvc);
	
	lvc.iSubItem = 3;
	lvc.pszText = (char *)"备注";
	lvc.cx = 100;
	m_ListCtrl.InsertColumn(3,&lvc);
}

void CBrow::HeaderForum()
{
	int i;
	for(i = 0; i < 10 ; i++)
		m_ListCtrl.DeleteColumn(0);
	
	LONG lStyle = m_ListCtrl.SendMessage
		(LVM_GETEXTENDEDLISTVIEWSTYLE);
	lStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | 
		LVS_EX_HEADERDRAGDROP;
	m_ListCtrl.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
		(LPARAM)lStyle);
	LV_COLUMN lvc;
	
	lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/;
	
	lvc.iSubItem = 0;
	lvc.pszText = (char *)"序号";
	lvc.cx = 50;
	m_ListCtrl.InsertColumn(0,&lvc);
	
	lvc.iSubItem = 1;
	lvc.pszText = (char *)"网址";
	lvc.cx = 150;
	m_ListCtrl.InsertColumn(1,&lvc);
	
	lvc.iSubItem = 2;
	lvc.pszText = (char *)"用户名";
	lvc.cx =150;
	m_ListCtrl.InsertColumn(2,&lvc);
	
	lvc.iSubItem = 3;
	lvc.pszText = (char *)"密码";
	lvc.cx = 100;
	m_ListCtrl.InsertColumn(3,&lvc);

	lvc.iSubItem = 4;
	lvc.pszText = (char *)"日期";
	lvc.cx = 100;
	m_ListCtrl.InsertColumn(4,&lvc);

	lvc.iSubItem = 5;
	lvc.pszText = (char *)"备注";
	lvc.cx = 100;
	m_ListCtrl.InsertColumn(5,&lvc);
}

void CBrow::BrowMail()
{
	m_ListCtrl.DeleteAllItems();
	CADORecordset* pRs = new CADORecordset(CTeleApp::g_pDb);
	CString TempSql;
	int i = -1;
	if(pRs->Open((LPCTSTR)"SELECT *  FROM mail "))
		//Order By name  ASC
		//if(pRs->Open("SELECT *  FROM telelist WHERE name like '%张%' "))
	{
		while(!pRs->IsEof())
		{
			LV_ITEM lvitem;
			lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
			lvitem.state = 0;      
			lvitem.stateMask = 0; 
			char temp[50];
			
			lvitem.iItem = ++i;
			lvitem.iSubItem = 0;
			lvitem.pszText =itoa(i, temp, 10); 
			m_ListCtrl.InsertItem(&lvitem);
			
			pRs->GetFieldValue("mail",TempSql);
			m_ListCtrl.SetItemText(i, 1, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("password",TempSql);
			m_ListCtrl.SetItemText(i, 2, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("remark",TempSql);
			m_ListCtrl.SetItemText(i, 3, (LPCTSTR)TempSql);
			
			//标记号和序列号的区别
			//标记号是数据库里的ID,序列号是程序生成的
			pRs->MoveNext();
		}
		pRs->Close();
	}
	else
		AfxMessageBox("记录集创建失败");
	delete pRs;	

}

void CBrow::BrowForum()
{
	m_ListCtrl.DeleteAllItems();
	CADORecordset* pRs = new CADORecordset(CTeleApp::g_pDb);
	CString TempSql;
	int i = -1;
	if(pRs->Open((LPCTSTR)"SELECT *  FROM forum "))
		//Order By name  ASC
		//if(pRs->Open("SELECT *  FROM telelist WHERE name like '%张%' "))
	{
		while(!pRs->IsEof())
		{
			LV_ITEM lvitem;
			lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
			lvitem.state = 0;      
			lvitem.stateMask = 0; 
			char temp[50];
			
			lvitem.iItem = ++i;
			lvitem.iSubItem = 0;
			lvitem.pszText =itoa(i, temp, 10); 
			m_ListCtrl.InsertItem(&lvitem);
			
			pRs->GetFieldValue("URL",TempSql);
			m_ListCtrl.SetItemText(i, 1, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("username",TempSql);
			m_ListCtrl.SetItemText(i, 2, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("password",TempSql);
			m_ListCtrl.SetItemText(i, 3, (LPCTSTR)TempSql);

			pRs->GetFieldValue("date",TempSql);
			m_ListCtrl.SetItemText(i, 4, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("remark",TempSql);
			m_ListCtrl.SetItemText(i, 5, (LPCTSTR)TempSql);
			
			//标记号和序列号的区别
			//标记号是数据库里的ID,序列号是程序生成的
			pRs->MoveNext();
		}
		pRs->Close();
	}
	else
		AfxMessageBox("记录集创建失败");
	delete pRs;	

}

void CBrow::QueryTeleList()
{
	char a[100];
	UpdateData(TRUE);
	
	if ( strcmp(m_strSelect,"") == 0 )
	{
		AfxMessageBox("请输入查询关键字");
		return;
	}
	
	CString strTemp;
	//strTemp = "SELECT *  FROM telelist WHERE "+ m_strSelectCom + " like '%" + m_strSelect + "%'" + " and marker = '1' " ;
	strTemp = "SELECT *  FROM telelist WHERE "+ m_strSelectCom + " like '%" + m_strSelect + "%'" /* + " and marker = '1' " */;
	m_ListCtrl.DeleteAllItems();
	CADORecordset* pRs = new CADORecordset(CTeleApp::g_pDb);
	CString TempSql;
	int i = -1;
	if(pRs->Open((LPCTSTR) strTemp ))
		
	{
		while(!pRs->IsEof())
		{
			LV_ITEM lvitem;
			lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
			lvitem.state = 0;      
			lvitem.stateMask = 0; 
			char temp[50];
			
			lvitem.iItem = ++i;
			lvitem.iSubItem = 0;
			lvitem.pszText =itoa(i, temp, 10); 
			m_ListCtrl.InsertItem(&lvitem);
			
			pRs->GetFieldValue("name",TempSql);
			m_ListCtrl.SetItemText(i, 1, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("tele",TempSql);
			m_ListCtrl.SetItemText(i, 2, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("remarks",TempSql);
			m_ListCtrl.SetItemText(i, 3, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("ID",TempSql);
			m_ListCtrl.SetItemText(i, 4, (LPCTSTR)TempSql);

			pRs->GetFieldValue("recent",TempSql);
			m_ListCtrl.SetItemText(i, 5, (LPCTSTR)TempSql);

			pRs->GetFieldValue("date",TempSql);
			m_ListCtrl.SetItemText(i, 6, (LPCTSTR)TempSql);
			
			pRs->MoveNext();
		}
		pRs->Close();
	}
	else
		AfxMessageBox("记录集创建失败");
	delete pRs;	

	itoa( (i+1) , a, 10);
	m_strI = "符合条件的记录有";
	m_strI += a ;
	UpdateData(FALSE);

}

void CBrow::QueryMail()
{
	m_strSelectCom = "mail" ;
	UpdateData(TRUE);
	
	if ( strcmp(m_strSelect,"") == 0 )
	{
		AfxMessageBox("请输入查询关键字");
		return;
	}
	
	CString strTemp;
	//strTemp = "SELECT *  FROM telelist WHERE "+ m_strSelectCom + " like '%" + m_strSelect + "%'" + " and marker = '1' " ;
	strTemp = "SELECT *  FROM mail WHERE "+ m_strSelectCom + " like '%" + m_strSelect + "%'" /* + " and marker = '1' " */;
	m_ListCtrl.DeleteAllItems();
	CADORecordset* pRs = new CADORecordset(CTeleApp::g_pDb);
	CString TempSql;
	int i = -1;
	if(pRs->Open((LPCTSTR) strTemp ))
		
	{
		while(!pRs->IsEof())
		{
			LV_ITEM lvitem;
			lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
			lvitem.state = 0;      
			lvitem.stateMask = 0; 
			char temp[50];
			
			lvitem.iItem = ++i;
			lvitem.iSubItem = 0;
			lvitem.pszText =itoa(i, temp, 10); 
			m_ListCtrl.InsertItem(&lvitem);
			
			pRs->GetFieldValue("mail",TempSql);
			m_ListCtrl.SetItemText(i, 1, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("password",TempSql);
			m_ListCtrl.SetItemText(i, 2, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("remark",TempSql);
			m_ListCtrl.SetItemText(i, 3, (LPCTSTR)TempSql);
			
			//标记号和序列号的区别
			//标记号是数据库里的ID,序列号是程序生成的
			pRs->MoveNext();
		}
		pRs->Close();
	}
	else
		AfxMessageBox("记录集创建失败");
	delete pRs;	


}

void CBrow::AddTeleList()
{
	CTeleDlg test;
	test.m_pListCtrl = &m_ListCtrl;
	test.DoModal();
}

void CBrow::AddMail()
{
}

void CBrow::OnButtonRecent() 
{
	Select("SELECT *  FROM telelist Order By [recent] DESC");
}


void CBrow::OnRButtonUp(UINT nFlags, CPoint point) 
{
	CItemInfo t_ItemInfo[1];
	
	CXPMenu t_Menu;
	t_Menu.CreatePopupMenu();
	
	t_ItemInfo[0].sText = "新功能增加";
	t_ItemInfo[0].uIdNormal   = IDR_MAINFRAME;
	t_ItemInfo[0].uIdSelect   = IDR_MAINFRAME;
	t_Menu.AppendMenu(MF_OWNERDRAW, 0, (LPCTSTR)(&(t_ItemInfo[0])));
	
	CPoint ptScreen(point);
	ClientToScreen(&ptScreen);
	t_Menu.TrackPopupMenu(TPM_RIGHTBUTTON, ptScreen.x, ptScreen.y, this);
	
	CDialog::OnRButtonUp(nFlags, point);
}



void CBrow::OnButtonSql() 
{
	UpdateData(TRUE);

	if(m_bSQL == 0)
	{
		((static_cast<CTeleApp *>(AfxGetApp()))->g_pDb)->Execute(m_strSQL);
		Select("SELECT *  FROM telelist Order By [date] DESC");
	}
	else
	{
		m_ListCtrl.DeleteAllItems();
		CADORecordset* pRs = new CADORecordset(CTeleApp::g_pDb);
		CString TempSql;
		int i = -1;
		
		if(pRs->Open((LPCTSTR) m_strSQL ))
			
		{
			while(!pRs->IsEof())
			{
				LV_ITEM lvitem;
				lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
				lvitem.state = 0;      
				lvitem.stateMask = 0; 
				char temp[50];
				
				lvitem.iItem = ++i;
				lvitem.iSubItem = 0;
				lvitem.pszText =itoa(i, temp, 10); 
				m_ListCtrl.InsertItem(&lvitem);
				
				pRs->GetFieldValue("name",TempSql);
				m_ListCtrl.SetItemText(i, 1, (LPCTSTR)TempSql);
				
				pRs->GetFieldValue("tele",TempSql);
				m_ListCtrl.SetItemText(i, 2, (LPCTSTR)TempSql);
				
				pRs->GetFieldValue("remarks",TempSql);
				m_ListCtrl.SetItemText(i, 3, (LPCTSTR)TempSql);
				
				pRs->GetFieldValue("ID",TempSql);
				m_ListCtrl.SetItemText(i, 4, (LPCTSTR)TempSql);
				
				pRs->GetFieldValue("recent",TempSql);
				m_ListCtrl.SetItemText(i, 5, (LPCTSTR)TempSql);
				
				pRs->GetFieldValue("date",TempSql);
				m_ListCtrl.SetItemText(i, 6, (LPCTSTR)TempSql);
				
				pRs->MoveNext();
			}
			pRs->Close();
		}
		else
			AfxMessageBox("记录集创建失败");
		delete pRs;	
		
		m_bSQL = 0;
	}
}

void CBrow::OnButtonAddsql() 
{
	m_bSQL =0;
	m_strSQL = "INSERT INTO telelist (name, tele, remarks, recent, [date]) VALUES ('姓名', '电话', '备注', 1 ,'2005-03-16') ";
	UpdateData(FALSE);
}

void CBrow::OnButtonDelsql() 
{
	m_bSQL = 0;
	m_strSQL = "DELETE FROM telelist WHERE ID = 标记号";
	UpdateData(FALSE);
}

void CBrow::OnButtonUpdatesql() 
{
	m_bSQL = 0;
	m_strSQL = "UPDATE telelist SET recent = 10 , tele = '130' WHERE ID = 标记号";
	UpdateData(FALSE);
}

void CBrow::OnButtonSelectsql() 
{
	m_bSQL = 1;
	m_strSQL = "SELECT *  FROM telelist WHERE name like '%张%'" ;
	UpdateData(FALSE);
}

CString CBrow::GetCurrentTime()
{
	COleDateTime dtCurrent;
	dtCurrent = COleDateTime::GetCurrentTime(); 
	return dtCurrent.Format("%Y-%m-%d %H:%M:%S");
}

void CBrow::OnMenuitemAbout() 
{
	CAboutDlg test;
	test.DoModal();
}

void CBrow::OnMenuitemHelp() 
{
	 ShellExecute(NULL, "open", "说明.txt", NULL, NULL, SW_SHOWNORMAL);
}

void CBrow::Select(CString SQL)
{
	char a[100];
	m_ListCtrl.DeleteAllItems();
	CADORecordset* pRs = new CADORecordset(CTeleApp::g_pDb);
	CString TempSql;
	int i = -1;
	//int i = 0;
	//if(pRs->Open((LPCTSTR)"SELECT *  FROM telelist Order By [date] DESC "))
	if( pRs->Open((LPCTSTR)SQL) )
		//Order By name  ASC 升序 desc 降序
		//if(pRs->Open("SELECT *  FROM telelist WHERE name like '%张%' "))
	{
		while(!pRs->IsEof())
		{
			LV_ITEM lvitem;
			lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
			lvitem.state = 0;      
			lvitem.stateMask = 0; 
			char temp[50];
			
			lvitem.iItem = ++i;
			lvitem.iSubItem = 0;
			lvitem.pszText =itoa(i, temp, 10); 
			m_ListCtrl.InsertItem(&lvitem);
			
			pRs->GetFieldValue("name",TempSql);
			m_ListCtrl.SetItemText(i, 1, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("tele",TempSql);
			m_ListCtrl.SetItemText(i, 2, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("remarks",TempSql);
			m_ListCtrl.SetItemText(i, 3, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("ID",TempSql);
			m_ListCtrl.SetItemText(i, 4, (LPCTSTR)TempSql);
			//标记号和序列号的区别
			//标记号是数据库里的ID,序列号是程序生成的
			
			pRs->GetFieldValue("recent",TempSql);
			m_ListCtrl.SetItemText(i, 5, (LPCTSTR)TempSql);
			
			pRs->GetFieldValue("date",TempSql);
			m_ListCtrl.SetItemText(i, 6, (LPCTSTR)TempSql);
			
			
			pRs->MoveNext();
		}
		pRs->Close();
	}
	
	else
		AfxMessageBox("记录集创建失败");
	
	delete pRs;	
	
	itoa( (i+1) , a, 10);
	m_strI = "总共有记录";
	m_strI += a ;
	UpdateData(FALSE);
}

void CBrow::OnName() 
{
	Select("SELECT *  FROM telelist Order By [name] DESC");
}

void CBrow::OnNo() 
{
	Select("SELECT *  FROM telelist Order By [ID] DESC");
}

void CBrow::OnDate() 
{
	Select("SELECT *  FROM telelist Order By [date] DESC");
}

void CBrow::OnRecent() 
{
	Select("SELECT *  FROM telelist Order By [recent] DESC");
	
}

⌨️ 快捷键说明

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