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

📄 daoworkdlg.cpp

📁 数据库程序的作业
💻 CPP
📖 第 1 页 / 共 3 页
字号:
				//int yyy = m_MyRS.GetIndexCount();
				if(x != NULL)
					delete [] x;
				if(y != NULL)
					delete [] y;
				x = new int [m_length]; 
				y = new int [m_length];

				m_MyRS.MoveFirst();
				int index = -1;
				while(!m_MyRS.IsEOF())
				{ 
					index++;
					x[index] = atoi(strVARIANT(m_MyRS.GetFieldValue(0)));
					y[index] = atoi(strVARIANT(m_MyRS.GetFieldValue(1)));
					m_MyRS.MoveNext();
				}
				m_MyRS.Close();
			}
			


			TV_INSERTSTRUCT ins_str;
			ins_str.hParent = TVI_ROOT;
			ins_str.hInsertAfter = TVI_LAST;
			ins_str.item = item_table;

			HTREEITEM hRoot = m_tree.InsertItem (&ins_str);

			//把字段的名称显示在 Tree Control中

			CDaoTableDef m_MyTable(&m_MyDatabase);
			m_MyTable.Open(TableInfo.m_strName);

			int nFieldCount = m_MyTable.GetFieldCount();
			for(int j=0; j<nFieldCount; j++)
			{
				CDaoFieldInfo FieldInfo;
				m_MyTable.GetFieldInfo(j, FieldInfo, AFX_DAO_ALL_INFO);

				TV_ITEM item_field;
				item_field.mask = TVIF_TEXT;
				item_field.pszText = (char *)(LPCTSTR)FieldInfo.m_strName ;
				
				ins_str.hParent = hRoot;
				ins_str.hInsertAfter = TVI_LAST;
				ins_str.item = item_field;

				HTREEITEM hChildItem = m_tree.InsertItem (&ins_str);
			}
			m_MyTable.Close();
		}
		return TRUE;
	}
	return FALSE;
}

BOOL CDaoWorkDlg::IsError(CString strFilePathName)
{
	int n = strFilePathName.ReverseFind('\\');
	if(n>=0)
	{
		CString str = strFilePathName.Right(strFilePathName.GetLength() - n - 1);
		if(str == "实验室信息管理.mdb")
			return FALSE;
		else
			return TRUE;
	}
	else
	{
		if(strFilePathName == "实验室信息管理.mdb")
			return FALSE;
		else
			return TRUE;
	}
}
BOOL CDaoWorkDlg::DrawLine(CDC *pDC, CPoint O, CSize Range, int *x, int *y, int length)
{
	int xBalance = FindBalance(x, length, 5);
	int yBalance = FindBalance(y, length, 5);

	pDC->MoveTo(O);
	for(int i=0; i<length; i++)
		pDC->LineTo(O.x + x[i], O.y - y[i]);
	return TRUE;
}

int CDaoWorkDlg::FindBalance(int *a, int length, int n)
{
	
	int r, min, max;
	min = max = a[0];
	for(int i=1; i<length; i++)
	{
		if(a[i] > max)
			max = a[i];
		else if(a[i] < min)
			min = a[i];
	}

	r = (int)((max - min)/n);
	return r;
}

BOOL CDaoWorkDlg::DestroyWindow() 
{
	// TODO: Add your specialized code here and/or call the base class
	if(x != NULL)
		delete [] x;
	if(y != NULL)
		delete [] y;
	return CDialog::DestroyWindow();
}
/*

广东省深圳市福田区电信ADSL
218.18.71.96:20584<QQ2004 正式版SP1 0928>

*/

BOOL CDaoWorkDlg::InitCtrl()
{	
	/*
	bError = IsError(m_filepathname);
	if(bError)
	{
		m_tree.ShowWindow(SW_SHOW);
		m_list.ShowWindow(SW_SHOW);
		GetDlgItem(IDC_STATIC_DRAW)->ShowWindow(SW_HIDE);
		m_tab1.SetCurSel(0);
		m_tab2.SetCurSel(0);
	}
	
	m_tree.DeleteAllItems();
	
	int nColumnCount = m_list.GetHeaderCtrl ()->GetItemCount ();
	int i;
	
	for(i=0; i<nColumnCount; i++)
		m_list.DeleteColumn(0);
	m_list.DeleteAllItems();

	*/
	/*	
	////////////////////////////////////////////////////////////////////////
  	if(!m_filepathname.IsEmpty ())
	{		
		TRY
		{
			//m_MyDatabase.Close();
			m_MyDatabase.Open (m_filepathname);
		}
		CATCH (CDaoException, pEx)
		{
			//pEx->ReportError();
			CString str = pEx->m_pErrorInfo->m_strDescription;
			str = str + "\n是否需要人工连接到数据库?";
			if(AfxMessageBox(str, MB_YESNO) == IDYES)
			{
				if(OnDatabaseLink())
					return TRUE;
				else
					return FALSE;
			}
			else
				return FALSE;
		}
		END_CATCH
			//;
			
			//m_tree.SetFocus();	
		*/


	/*
	if(m_MyDatabase.IsOpen())
	{	
		int nTableCount = m_MyDatabase.GetTableDefCount ();
		CString strTableName, strFiledName;
		for(i=0; i<nTableCount; i++)
		{
			CDaoTableDefInfo TableInfo;
			m_MyDatabase.GetTableDefInfo (i, TableInfo, AFX_DAO_ALL_INFO);
			if(TableInfo.m_lAttributes != 0)
				continue; //过滤系统表
			
			//表的名称显示
			strTableName = (char *)(LPCTSTR)TableInfo.m_strName ; 
			
			
			//字段的名称显示	  			
			CDaoTableDef m_MyTable(&m_MyDatabase);
			m_MyTable.Open(TableInfo.m_strName);
			
			int nFieldCount = m_MyTable.GetFieldCount();
			for(int j=0; j<nFieldCount; j++)
			{
				CDaoFieldInfo FieldInfo;
				m_MyTable.GetFieldInfo(j, FieldInfo, AFX_DAO_ALL_INFO);
				
				strFiledName = (char *)(LPCTSTR)FieldInfo.m_strName ;					
			}
			m_MyTable.Close();
		}
		return TRUE;
	}		
	*/
	return TRUE; 
}
/*ccnp 视频 bt 下载
我有BScI,你只要下BCRAM,BCMSN,CIT,三个部分,约6,8G */

/*WinPower2000@CMPSMP*/

/*四川省电信
222.210.194.229:1862<QQ2004II Beta1>*/			  
/*Fri Jul 29 09:30:40 2005 正在连接 download.567game.com:80*/

void CDaoWorkDlg::OnButtonCustomerunits() 
{
	// TODO: Add your control notification handler code here
	
	int i;
		
	m_list.DeleteAllItems ();
	
	int nCount = m_list.GetHeaderCtrl ()->GetItemCount ();
	for(i=0; i<nCount; i++)
	{
		m_list.DeleteColumn (0);
	}
	
	
	CString temp;
	int nCursel = m_customerunits.GetCurSel();
	if(nCursel >= 0)
	{
		m_customerunits.GetLBText(nCursel, temp);
		CString str1 = "SELECT [客户表].[姓名] FROM [客户表] WHERE (([单位]=\"" + temp + "\"))";
		
		CDaoRecordset m_MyRS(&m_MyDatabase);
		m_MyRS.Open(dbOpenDynaset, str1);
		m_MyRS.MoveFirst();
		int nFieldCount = m_MyRS.GetFieldCount();
		for(i=0; i<nFieldCount; i++)
		{
			CDaoFieldInfo FieldInfo;
			m_MyRS.GetFieldInfo(i, FieldInfo, AFX_DAO_ALL_INFO);
			
			LV_COLUMN lvcol;
			lvcol.mask = LVCF_FMT|LVCF_TEXT|LVCF_WIDTH;
			lvcol.fmt = LVCFMT_LEFT;
			lvcol.cx = 70;
			lvcol.pszText = (char *)(LPCTSTR)FieldInfo.m_strName ;
			lvcol.iSubItem = i;
			
			m_list.InsertColumn (i, &lvcol);
		}
		
		int index = -1;  //插入item后的索引号
		while(!m_MyRS.IsEOF())
		{
			index += 1;
			CString strVar = strVARIANT(m_MyRS.GetFieldValue(0));
			LV_ITEM lvitem;
			lvitem.iItem = index;
			lvitem.iSubItem = 0;
			lvitem.mask = LVIF_TEXT;
			lvitem.pszText = (char *)(LPCTSTR)strVar;
			
			m_list.InsertItem (&lvitem);
			
			for(i=0; i<nFieldCount; i++)
			{
				strVar = strVARIANT(m_MyRS.GetFieldValue(i));
				m_list.SetItemText (index, i, strVar);
			}
			m_MyRS.MoveNext();
		}
		m_MyRS.Close();	
	}
}

void CDaoWorkDlg::OnButtonCustomer() 
{
	// TODO: Add your control notification handler code here
	int i;
	
	m_list.DeleteAllItems ();
	
	int nCount = m_list.GetHeaderCtrl ()->GetItemCount ();
	for(i=0; i<nCount; i++)
	{
		m_list.DeleteColumn (0);
	}
	
	
	CString temp;
	int nCursel = m_customer.GetCurSel();
	if(nCursel >= 0)
	{
		
		m_customer.GetLBText(nCursel, temp);
		CString str1 = "SELECT [样品表].[样品编号], [样品表].[样品类型] FROM [客户表] INNER JOIN [样品表] ON [客户表].[客户ID]=[样品表].[客户ID] WHERE ((([客户表].[姓名])=\"" + temp + "\"))";
		
		CDaoRecordset m_MyRS(&m_MyDatabase);
		m_MyRS.Open(dbOpenDynaset, str1);
		m_MyRS.MoveFirst();
		int nFieldCount = m_MyRS.GetFieldCount();
		for(i=0; i<nFieldCount; i++)
		{
			CDaoFieldInfo FieldInfo;
			m_MyRS.GetFieldInfo(i, FieldInfo, AFX_DAO_ALL_INFO);
			
			LV_COLUMN lvcol;
			lvcol.mask = LVCF_FMT|LVCF_TEXT|LVCF_WIDTH;
			lvcol.fmt = LVCFMT_LEFT;
			lvcol.cx = 70;
			lvcol.pszText = (char *)(LPCTSTR)FieldInfo.m_strName;
			lvcol.iSubItem = i;
			
			m_list.InsertColumn (i, &lvcol);
		}
		
		int index = -1;  //插入item后的索引号
		while(!m_MyRS.IsEOF())
		{
			index += 1;
			CString strVar = strVARIANT(m_MyRS.GetFieldValue(0));
			LV_ITEM lvitem;
			lvitem.iItem = index;
			lvitem.iSubItem = 0;
			lvitem.mask = LVIF_TEXT;
			lvitem.pszText = (char *)(LPCTSTR)strVar;
			
			m_list.InsertItem (&lvitem);
			
			for(i=0; i<nFieldCount; i++)
			{
				strVar = strVARIANT(m_MyRS.GetFieldValue(i));
				m_list.SetItemText (index, i, strVar);
			}
			m_MyRS.MoveNext();
		}
		m_MyRS.Close();	
	}
}

void CDaoWorkDlg::OnButtonSample1() 
{
	// TODO: Add your control notification handler code here
	int i;
	
	m_list.DeleteAllItems ();
	
	int nCount = m_list.GetHeaderCtrl ()->GetItemCount ();
	for(i=0; i<nCount; i++)
	{
		m_list.DeleteColumn (0);
	}
	
	
	int nCursel = m_sample1.GetCurSel();
	if(nCursel >= 0)
	{	 
		CString str1;
		str1.Format("SELECT [仪器表].[仪器型号], [仪器表].[仪器类型] FROM [仪器表] INNER JOIN [实验数据表] ON [仪器表].[仪器型号] = [实验数据表].[仪器型号] WHERE ((([实验数据表].[样品编号])=%d))",nCursel+1);
		
		CDaoRecordset m_MyRS(&m_MyDatabase);
		m_MyRS.Open(dbOpenDynaset, str1);
		m_MyRS.MoveFirst();
		int nFieldCount = m_MyRS.GetFieldCount();
		for(i=0; i<nFieldCount; i++)
		{
			CDaoFieldInfo FieldInfo;
			m_MyRS.GetFieldInfo(i, FieldInfo, AFX_DAO_ALL_INFO);
			
			LV_COLUMN lvcol;
			lvcol.mask = LVCF_FMT|LVCF_TEXT|LVCF_WIDTH;
			lvcol.fmt = LVCFMT_LEFT;
			lvcol.cx = 70;
			lvcol.pszText = (char *)(LPCTSTR)FieldInfo.m_strName ;
			lvcol.iSubItem = i;
			
			m_list.InsertColumn (i, &lvcol);
		}
		
		int index = -1;  //插入item后的索引号
		while(!m_MyRS.IsEOF())
		{
			index += 1;
			CString strVar = strVARIANT(m_MyRS.GetFieldValue(0));
			LV_ITEM lvitem;
			lvitem.iItem = index;
			lvitem.iSubItem = 0;
			lvitem.mask = LVIF_TEXT;
			lvitem.pszText = (char *)(LPCTSTR)strVar;
			
			m_list.InsertItem (&lvitem);
			
			for(i=0; i<nFieldCount; i++)
			{
				strVar = strVARIANT(m_MyRS.GetFieldValue(i));
				m_list.SetItemText (index, i, strVar);
			}
			m_MyRS.MoveNext();
		}
		m_MyRS.Close();	
	}
}

void CDaoWorkDlg::OnButtonSample2instrument() 
{
	// TODO: Add your control notification handler code here
	int i;
	
	m_list.DeleteAllItems ();
	
	int nCount = m_list.GetHeaderCtrl ()->GetItemCount ();
	for(i=0; i<nCount; i++)
	{
		m_list.DeleteColumn (0);
	}
	
	
	int nCursel1 = m_sample2.GetCurSel();
	int nCursel2 = m_instrument.GetCurSel();
	if((nCursel1 >= 0) && (nCursel2 >= 0))
	{
		
		CString str1;
		str1.Format("SELECT [实验数据表].[X], [实验数据表].[Y] FROM [实验数据表] WHERE ((([实验数据表].[样品编号])=%d) AND (([实验数据表].[仪器型号])=%d))", nCursel1+1, nCursel2+1);
		CDaoRecordset m_MyRS(&m_MyDatabase);
		m_MyRS.Open(dbOpenDynaset, str1);
		m_MyRS.MoveFirst();
		int nFieldCount = m_MyRS.GetFieldCount();
		for(i=0; i<nFieldCount; i++)
		{
			CDaoFieldInfo FieldInfo;
			m_MyRS.GetFieldInfo(i, FieldInfo, AFX_DAO_ALL_INFO);
			
			LV_COLUMN lvcol;
			lvcol.mask = LVCF_FMT|LVCF_TEXT|LVCF_WIDTH;
			lvcol.fmt = LVCFMT_LEFT;
			lvcol.cx = 70;
			lvcol.pszText = (char *)(LPCTSTR)FieldInfo.m_strName ;
			lvcol.iSubItem = i;
			
			m_list.InsertColumn (i, &lvcol);
		}
		
		int index = -1;  //插入item后的索引号
		while(!m_MyRS.IsEOF())
		{
			index += 1;
			CString strVar = strVARIANT(m_MyRS.GetFieldValue(0));
			LV_ITEM lvitem;
			lvitem.iItem = index;
			lvitem.iSubItem = 0;
			lvitem.mask = LVIF_TEXT;
			lvitem.pszText = (char *)(LPCTSTR)strVar;
			
			m_list.InsertItem (&lvitem);
			
			for(i=0; i<nFieldCount; i++)
			{
				strVar = strVARIANT(m_MyRS.GetFieldValue(i));
				m_list.SetItemText (index, i, strVar);
			}
			m_MyRS.MoveNext();
		}
		m_MyRS.Close();	
	}	
}










/*

河北省沧州市
219.148.116.234:18997<>
2005-8-16 14:37:27

*/

/*河北省沧州市
219.148.116.234:28357<>
2005-8-18 14:58:6*/


/*广东省东莞市电信
61.145.189.253:11801<>
2005-8-18 14:23:29*/


/*江西省吉安市移通
218.204.99.58:11415<QQ2004 SP1 Build 0928>
2005-8-18 15:55:48*/

/*湖北省电信
221.235.89.29:19725<MyIM 2004 Preview>
2005-8-18 15:56:16*/

/*中国科学院地理科学与资源研究所
159.226.110.167:64018<TM3.0 Beta3 Build 0120>
2005-8-18 15:56:38*/

/*江西省吉安市
218.87.166.102:4000<QQ2005 Beta1 0404>
2005-8-18 15:56:59*/

/*江西省广电网(全省通用)
211.89.129.8:16727<QQ2005 春节贺岁版>
2005-8-18 15:57:8*/

/*广东省佛山市南海区
202.104.20.182:4007<QQ2005 春节贺岁版>
2005-8-18 16:22:9*/

/*
江西省吉安市电信宽带
218.95.68.12:4001<QQ2005 Beta2>
2005-8-26 16:8:55*/
/*你在你们校门口座719到湾子站下车就到了还有我的电脑好象开不了机了你正好过来给我看看*/

⌨️ 快捷键说明

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