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

📄 chapq2_1view.cpp

📁 完整的数据库课程设计
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			if(isDesc)
			{
				strTmp=strTmp+"desc";
                isDesc=FALSE;
			}
			else
				isDesc=TRUE;
			m_strSQL+=strTmp;
			UpdateData(FALSE);
			OnExecute();
			m_strSQL.Delete(nOrignalLength,strTmp.GetLength());
		}
	}
}

void CChapq2_1View::OnSchool() 
{
	// TODO: Add your control notification handler code here
	m_strSQL = _T("");
	m_strSQL="select * from 学生 where 备注='在校'"; 
    UpdateData(FALSE);
	OnExecute();
}

void CChapq2_1View::OnGraduation() 
{
	// TODO: Add your control notification handler code here
	m_strSQL = _T("");
	m_strSQL="select * from 学生 where 备注='毕业'"; 
    UpdateData(FALSE);
	OnExecute();
}

void CChapq2_1View::OnSuspension() 
{
	// TODO: Add your control notification handler code here
	m_strSQL = _T("");
	m_strSQL="select * from 学生 where 备注='休学'"; 
    UpdateData(FALSE);
	OnExecute();
}

void CChapq2_1View::OnChanging() 
{
	// TODO: Add your control notification handler code here
	m_strSQL = _T("");
	m_strSQL="select * from 学生 where 备注='转校'"; 
    UpdateData(FALSE);
	OnExecute();
}

void CChapq2_1View::OnFind() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_numcha=="" && m_namecha !="")
	{
        UpdateData(TRUE);
		m_strSQL="select 学生.学号,姓名,性别,民族,出生日期,入学日期,院系,专业,班级,课程.课程号,课程名,成绩,学分,备注 from 学生,选课,课程 where 学生.姓名='"+m_namecha+"' and 学生.学号=选课.学号 and 选课.课程号=课程.课程号";
		UpdateData(FALSE);
	    OnExecute();
	}
	else if(m_numcha !="" && m_namecha =="")
	{
		UpdateData(TRUE);
		m_strSQL="select 学生.学号,姓名,性别,民族,出生日期,入学日期,院系,专业,班级,课程.课程号,课程名,成绩,学分,备注 from 学生,选课,课程 where 学生.学号='"+m_numcha+"' and 学生.学号=选课.学号 and 选课.课程号=课程.课程号";
		UpdateData(FALSE);
	    OnExecute();
	} 
	else if(m_numcha !="" && m_namecha !="")
	{
		UpdateData(TRUE);
		m_strSQL="select 学生.学号,姓名,性别,民族,出生日期,入学日期,院系,专业,班级,课程.课程号,课程名,成绩,学分,备注 from 学生,选课,课程 where 学生.学号='"+m_numcha+"' and 学生.姓名='"+m_namecha+"' and 学生.学号=选课.学号 and 选课.课程号=课程.课程号";
		UpdateData(FALSE);
	    OnExecute();
	}
	else
	{
      m_strSQL = _T("");
	  UpdateData(FALSE);
	}
}

void CChapq2_1View::OnFindClear() 
{
	// TODO: Add your control notification handler code here
	m_strSQL = _T("");
    m_numcha="";
	m_namecha="";
	m_DataGrid.SetRefDataSource(NULL);
	((CButton*)GetDlgItem(IDC_SCHOOL))->SetCheck(0);
	((CButton*)GetDlgItem(IDC_GRADUATION))->SetCheck(0);
	((CButton*)GetDlgItem(IDC_SUSPENSION))->SetCheck(0);
    ((CButton*)GetDlgItem(IDC_CHANGING))->SetCheck(0);
	UpdateData(FALSE);
}

void CChapq2_1View::OnStudent() 
{
	// TODO: Add your control notification handler code here
	m_strTableName =_T("");
	m_strSQL = _T("");
    m_strTableName="学生";
	m_strSQL="select * from ["+m_strTableName+"]";
	UpdateData(FALSE);
	OnExecute();
}

void CChapq2_1View::OnCourse() 
{
	// TODO: Add your control notification handler code here
	m_strTableName =_T("");
	m_strSQL = _T("");
    m_strTableName="课程";
	m_strSQL="select * from ["+m_strTableName+"]";
	UpdateData(FALSE);
	OnExecute();
}

void CChapq2_1View::OnSc() 
{
	// TODO: Add your control notification handler code here
	m_strTableName =_T("");
	m_strSQL = _T("");
    m_strTableName="选课";
    m_strSQL="select * from ["+m_strTableName+"]";
	UpdateData(FALSE);
	OnExecute();
}


void CChapq2_1View::OnInsert() 
{
	// TODO: Add your control notification handler code here
	m_strSQL = _T("");
	m_strSQL="select * from ["+m_strTableName+"]";
	UpdateData(FALSE);
    OnExecute();
	OnExecute();
}


void CChapq2_1View::OnInsertClear() 
{
	// TODO: Add your control notification handler code here
	m_strTableName =_T("");
	m_strSQL = _T("");
	m_DataGrid.SetRefDataSource(NULL);
	((CButton*)GetDlgItem(IDC_STUDENT))->SetCheck(0);
	((CButton*)GetDlgItem(IDC_COURSE))->SetCheck(0);
	((CButton*)GetDlgItem(IDC_SC))->SetCheck(0);
	UpdateData(FALSE);
}

void CChapq2_1View::OnDelete() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	m_strSQL = _T("");
	if(m_numdel=="" && m_namedel !="" && m_cnodel=="")
	{
		m_strSQL = _T("");
		m_strSQL="delete from 学生 where 姓名='"+m_namedel+"' ";
		UpdateData(FALSE);
	    OnExecute();
		m_strSQL="select * from 学生";
		UpdateData(FALSE);
	    OnExecute();
	}
	else if(m_numdel !="" && m_namedel ==""&& m_cnodel=="")
	{
		m_strSQL = _T("");
		m_strSQL="delete from 学生 where 学号='"+m_numdel+"' ";
		UpdateData(FALSE);
	    OnExecute();
		m_strSQL="select * from 学生";
		UpdateData(FALSE);
	    OnExecute();
	} 
	else if(m_numcha !="" && m_namecha !=""&& m_cnodel=="")
	{
		m_strSQL = _T("");
		m_strSQL="delete from 学生 where 姓名='"+m_namedel+"' and 学号='"+m_numdel+"' ";
		UpdateData(FALSE);
	    OnExecute();
		m_strSQL="select * from 学生";
		UpdateData(FALSE);
	    OnExecute();
	}
	else if(m_numcha =="" && m_namecha ==""&& m_cnodel !="")
	{
		m_strSQL = _T("");
		m_strSQL="delete from 课程 where 课程号='"+m_cnodel+"' ";
		UpdateData(FALSE);
	    OnExecute();
		m_strSQL="select * from 课程";
		UpdateData(FALSE);
	    OnExecute();
	}
	else
	{
      m_strSQL = _T("");
	  UpdateData(FALSE);
	}
}

void CChapq2_1View::OnDeleteClear() 
{
	// TODO: Add your control notification handler code here
	m_numdel="";
	m_namedel="";
	m_cnodel="";
	m_strTableName =_T("");
	m_strSQL = _T("");
	m_DataGrid.SetRefDataSource(NULL);
	UpdateData(FALSE);
}

void CChapq2_1View::OnLaw() 
{
	// TODO: Add your control notification handler code here	
    CString m_strZ,m_str,mm_str,m_strK,mmm_str,m_strR;
	short i;
	m_strSQL = _T("");
	i=m_DataGrid.GetCol();
	CColumns m_cols=m_DataGrid.GetColumns();  //先取得列集
	CColumns mm_cols=m_DataGrid.GetColumns();
	CColumns mmm_cols=m_DataGrid.GetColumns();
	VARIANT m_index,mm_index,mmm_index;
	m_index.intVal=i;
	mm_index.intVal=0;
	mmm_index.intVal=1;
	m_index.vt=VT_I4;
	mm_index.vt=VT_I4;
	mmm_index.vt=VT_I4;
	CColumn m_col=m_cols.GetItem(m_index); //再取得列集中的列,由VARIANT index变量指出列的索引号
    CColumn mm_col=mm_cols.GetItem(mm_index);
	CColumn mmm_col=mm_cols.GetItem(mmm_index);
	m_str=m_col.GetCaption();
	mm_str=mm_col.GetCaption();
	mmm_str=mmm_col.GetCaption();
	m_strZ=m_DataGrid.GetText();
	m_strK=m_DataGrid.GetItem(0);
	m_strR=m_DataGrid.GetItem(1);
	m_strSQL ="update ["+m_strTableName+"] set "+m_str+"='"+m_strZ+"' where "+mm_str+"='"+m_strK+"' and  "+mmm_str+"='"+m_strR+"'";
    UpdateData(FALSE);
	OnExecute();
	m_strSQL="select * from ["+m_strTableName+"]";
	UpdateData(FALSE);
	OnExecute();	
}

void CChapq2_1View::OnLawClear() 
{
	// TODO: Add your control notification handler code here
	m_strTableName =_T("");
	m_strSQL = _T("");
	m_DataGrid.SetRefDataSource(NULL);
	((CButton*)GetDlgItem(IDD_STUDENT))->SetCheck(0);
	((CButton*)GetDlgItem(IDD_COURSE))->SetCheck(0);
	((CButton*)GetDlgItem(IDD_SC))->SetCheck(0);
	UpdateData(FALSE);
}

void CChapq2_1View::OnBackup() 
{
	// TODO: Add your control notification handler code here
	CFileFind find;
	m_strSQL = _T("");
    if(find.FindFile("E:\\LIN.bak"))
	{ 
        DeleteFile("E:\\LIN.bak"); //存在,则先把原先的备份文件删除,再备份
	}
    m_strSQL = "backup database LIN to disk='E:\\LIN.bak'";
    UpdateData(FALSE);
	OnExecute();	
}

void CChapq2_1View::OnRestore() 
{
	// TODO: Add your control notification handler code here
	m_strSQL = _T("");
	try
	{ 
        m_Connection.CreateInstance(__uuidof(Connection));
        m_Connection->Open(_bstr_t(m_strConnection.GetBuffer(0)),"","",-1);
	}
   catch(_com_error &e)
	{
		GenerateError(e.Error(),e.Description());
	}
   catch(...){}
   m_strSQL="drop database LIN";
   OnExecute();
   m_strSQL = _T("");
   m_strSQL= "restore database LIN from disk= 'E:\\LIN.bak'";
   UpdateData(FALSE);
   OnExecute();	
}

void CChapq2_1View::Judge()
{
	GetDlgItem(IDC_EXECUTE)->EnableWindow(false); 
	GetDlgItem(IDC_BACKUP)->EnableWindow(false); 
	GetDlgItem(IDC_RESTORE)->EnableWindow(false); 
	GetDlgItem(IDC_STUDENT)->EnableWindow(false); 
	GetDlgItem(IDC_COURSE)->EnableWindow(false); 
	GetDlgItem(IDC_SC)->EnableWindow(false); 
	GetDlgItem(IDC_INSERT)->EnableWindow(false); 
	GetDlgItem(IDC_INSERT_CLEAR)->EnableWindow(false); 
	GetDlgItem(IDC_SNO_DELETE)->EnableWindow(false);
	GetDlgItem(IDC_SNAME_DELETE)->EnableWindow(false); 
	GetDlgItem(IDC_CNO_DELETE)->EnableWindow(false); 
	GetDlgItem(IDC_DELETE)->EnableWindow(false); 
	GetDlgItem(IDC_DELETE_CLEAR)->EnableWindow(false); 
	GetDlgItem(IDD_STUDENT)->EnableWindow(false); 
	GetDlgItem(IDD_COURSE)->EnableWindow(false); 
    GetDlgItem(IDD_SC)->EnableWindow(false);
	GetDlgItem(IDC_LAW)->EnableWindow(false);
	GetDlgItem(IDC_LAW_CLEAR)->EnableWindow(false);
  
}

⌨️ 快捷键说明

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