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

📄 workman.cpp

📁 C++BUILDER实现的高校毕业生就业信息管理系统 是大学本科的毕业设计论文
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "WorkMan.h"
#include "Student.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmWorkMan *frmWorkMan;
//---------------------------------------------------------------------------
__fastcall TfrmWorkMan::TfrmWorkMan(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmWorkMan::FormShow(TObject *Sender)
{
        rad_All->Checked=true;
        rad_hasjob->Checked=false;
        rad_nojob->Checked=false;
        RefreshYX();
        cmb_Major->Clear();
        cmb_Grade->Clear();
        cmb_Class->Clear();
        String s="select y.name as yxname,m.name as majorname,g.name as gradename,c.name as classname,s.num as stunum,s.name as stuname,s.iswork as work from tbStudent as s inner join tbClass as c on s.classid=c.id inner join tbMajor as m on c.majorid=m.id inner join tbGrade as g on g.id=c.gradeid inner join tbYX as y on y.id=m.yxid";
        RefreshStudent(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWorkMan::RefreshYX()
{
        cmb_YX->Clear();
        ADODataSet1->CommandText="select name from tbYX";
        ADODataSet1->Open();
        if(!ADODataSet1->Eof)
        {
                ADODataSet1->First();
        }
        while(!ADODataSet1->Eof)
        {
                cmb_YX->Items->Add(ADODataSet1->FieldByName("name")->AsString);
                ADODataSet1->Next();
        }
        ADODataSet1->Close();
}

void __fastcall TfrmWorkMan::RefreshMajor(String yx)
{
        String yxid;
        cmb_Major->Clear();
        ADODataSet1->CommandText="select id from tbyx where name='" + yx +"'";
        ADODataSet1->Open();
        yxid=ADODataSet1->FieldByName("id")->AsString;
        ADODataSet1->Close();
        ADODataSet1->CommandText="select name from tbMajor where yxid=" +yxid;
        ADODataSet1->Open();
        if(!ADODataSet1->Eof)
        {
                ADODataSet1->First();
        }
        while(!ADODataSet1->Eof)
        {
                cmb_Major->Items->Add(ADODataSet1->FieldByName("name")->AsString);
                ADODataSet1->Next();
        }
        ADODataSet1->Close();
}

void __fastcall TfrmWorkMan::RefreshGrade()
{
        cmb_Grade->Clear();
        ADODataSet1->CommandText="select name from tbGrADE";
        ADODataSet1->Open();
        if(!ADODataSet1->Eof)
        {
                ADODataSet1->First();
        }
        while(!ADODataSet1->Eof)
        {
                cmb_Grade->Items->Add(ADODataSet1->FieldByName("name")->AsString);
                ADODataSet1->Next();
        }
        ADODataSet1->Close();
}
void __fastcall TfrmWorkMan::RefreshClass(String major,String grade)
{
        String majorid,gradeid;
        cmb_Class->Clear();
        ADODataSet1->CommandText="select id from tbMajor where name='" + major +"'";
        ADODataSet1->Open();
        majorid=ADODataSet1->FieldByName("id")->AsString;
        ADODataSet1->Close();

        ADODataSet1->CommandText="select id from tbGrade where name='" + grade + "'";
        ADODataSet1->Open();
        gradeid=ADODataSet1->FieldByName("id")->AsString;
        ADODataSet1->Close();

        ADODataSet1->CommandText="select name from tbClass where majorid=" +majorid + " and gradeid=" + gradeid;
        ADODataSet1->Open();
        if(!ADODataSet1->Eof)
        {
                ADODataSet1->First();
        }
        while(!ADODataSet1->Eof)
        {
                cmb_Class->Items->Add(ADODataSet1->FieldByName("name")->AsString);
                ADODataSet1->Next();
        }
        ADODataSet1->Close();

}
void __fastcall TfrmWorkMan::RefreshStudent(String s)
{
        String yxname;
        String majorname;
        String gradename;
        String classname;
        String stunum;
        String stuname;
        String iswork;
        String str;
        int i;
        lis_Student->Clear();
        ADODataSet1->CommandText=s;
        ADODataSet1->Open();
        if(!ADODataSet1->Eof)
        {
                ADODataSet1->First();
        }
        while(!ADODataSet1->Eof)
        {

                yxname=ADODataSet1->FieldByName("yxname")->AsString;
                majorname=ADODataSet1->FieldByName("majorname")->AsString;
                gradename=ADODataSet1->FieldByName("gradename")->AsString;
                classname=ADODataSet1->FieldByName("classname")->AsString;
                stunum=ADODataSet1->FieldByName("stunum")->AsString;
                stuname=ADODataSet1->FieldByName("stuname")->AsString;
                iswork=ADODataSet1->FieldByName("work")->AsString;

                if(iswork=="True")
                {
                        iswork="是";
                }
                else
                {
                        iswork="否";
                }

                while(yxname.Length()<30)
                        {yxname+=" ";}
                while(majorname.Length()<30)
                        {majorname+=" "; }
                while(gradename.Length()<20)
                        {gradename+=" ";}
                while(classname.Length()<20)
                        {classname+=" ";}
                while(stunum.Length()<20)
                        {stunum+=" ";}
                while(stuname.Length()<20)
                        {stuname+=" ";}
                str="";
                str=yxname+majorname+gradename+classname+stunum+stuname+iswork;
                lis_Student->Items->Add(str);
                ADODataSet1->Next();
        }
        ADODataSet1->Close();
}
void __fastcall TfrmWorkMan::btn_CancelClick(TObject *Sender)
{
        Close();
}
//---------------------------------------------------------------------------

void __fastcall TfrmWorkMan::btn_SelectClick(TObject *Sender)
{
       String s="select y.name as yxname,m.name as majorname,g.name as gradename,c.name as classname,s.num as stunum,s.name as stuname,s.iswork as work from tbStudent as s inner join tbClass as c on s.classid=c.id inner join tbMajor as m on c.majorid=m.id inner join tbGrade as g on g.id=c.gradeid inner join tbYX as y on y.id=m.yxid ";
       if(rad_hasjob->Checked==true)
       {
                s+="where s.iswork=1";
       }
       if(rad_nojob->Checked==true)
       {
                s+="where s.iswork=0";
       }
       if(rad_All->Checked==true)
       {
                s+="where s.iswork in(0,1)";
       }
       if(!cmb_YX->Text.IsEmpty())
                s+=" and y.name='" + cmb_YX->Text +"'";
       if(!cmb_Major->Text.IsEmpty())
                s+=" and m.name='" + cmb_Major->Text +"'";
       if(!cmb_Grade->Text.IsEmpty())
                s+=" and g.name='" + cmb_Grade->Text +"'";
       if(!cmb_Class->Text.IsEmpty())
                s+=" and c.name='" + cmb_Class->Text +"'";
       if(!txt_Name->Text.IsEmpty())
                s+=" and s.name='" + txt_Name->Text +"'";
       if(!txt_Num->Text.IsEmpty())
                s+=" and s.num='" + txt_Num->Text +"'";
       if(chkZS->Checked)
                s+=" and (s.zs1<>'' or s.zs2<>'' or s.zs3<>'')";
        if(chkJY->Checked)
                s+=" and s.jy<>''";
        if(chkJLCF->Checked)
                s+=" and s.jlcf<>''";
       RefreshStudent(s);
}
//---------------------------------------------------------------------------

void __fastcall TfrmWorkMan::cmb_YXChange(TObject *Sender)
{
           RefreshMajor(cmb_YX->Text);
        cmb_Grade->Clear();
        cmb_Class->Clear();
}
//---------------------------------------------------------------------------

void __fastcall TfrmWorkMan::cmb_MajorChange(TObject *Sender)
{
            RefreshGrade();
        cmb_Class->Clear();
}
//---------------------------------------------------------------------------

void __fastcall TfrmWorkMan::cmb_GradeChange(TObject *Sender)
{
            RefreshClass(cmb_Major->Text,cmb_Grade->Text);
}
//---------------------------------------------------------------------------

void __fastcall TfrmWorkMan::btn_AddClick(TObject *Sender)
{
        TfrmStudent *fm=new TfrmStudent(this);
        fm->method=0;
        fm->ShowModal();
        delete fm;
        String s="select y.name as yxname,m.name as majorname,g.name as gradename,c.name as classname,s.num as stunum,s.name as stuname,s.iswork as work from tbStudent as s inner join tbClass as c on s.classid=c.id inner join tbMajor as m on c.majorid=m.id inner join tbGrade as g on g.id=c.gradeid inner join tbYX as y on y.id=m.yxid";
        RefreshStudent(s);
}
//---------------------------------------------------------------------------



void __fastcall TfrmWorkMan::btn_UpdClick(TObject *Sender)
{
        if(lis_Student->ItemIndex<0)
        {
                Application->MessageBoxA("请选择要修改的毕业生信息!","警告!",MB_OK);
                return;
        }
        String str;
        str=lis_Student->Items->Strings[lis_Student->ItemIndex];
        str=str.SubString(100,20);
        str=str.Trim();
        TfrmStudent *fm=new TfrmStudent(this);
        fm->method=1;
        fm->Admin=1;
        fm->num=str;
        fm->ShowModal();
        delete fm;
        String s="select y.name as yxname,m.name as majorname,g.name as gradename,c.name as classname,s.num as stunum,s.name as stuname,s.iswork as work from tbStudent as s inner join tbClass as c on s.classid=c.id inner join tbMajor as m on c.majorid=m.id inner join tbGrade as g on g.id=c.gradeid inner join tbYX as y on y.id=m.yxid";
        RefreshStudent(s);
        
}
//---------------------------------------------------------------------------

void __fastcall TfrmWorkMan::btn_DeleteClick(TObject *Sender)
{
        if(lis_Student->ItemIndex<0)
        {
                Application->MessageBoxA("请选择要删除的毕业生信息!","警告!",MB_OK);
                return;
        }
        String str;
        str=lis_Student->Items->Strings[lis_Student->ItemIndex];
        str=str.SubString(100,20);
        str=str.Trim();
        ADOCommand1->CommandText="delete from tbStudent where num='" + str + "'";
        ADOCommand1->Execute();
        String s="select y.name as yxname,m.name as majorname,g.name as gradename,c.name as classname,s.num as stunum,s.name as stuname,s.iswork as work from tbStudent as s inner join tbClass as c on s.classid=c.id inner join tbMajor as m on c.majorid=m.id inner join tbGrade as g on g.id=c.gradeid inner join tbYX as y on y.id=m.yxid";
        RefreshStudent(s);

}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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