printgrade.cpp

来自「C++ Builder数据库开发经典案例解析 示例程序都是在C++ Build」· C++ 代码 · 共 69 行

CPP
69
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "printgrade.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfmPrintGrade *fmPrintGrade;
//---------------------------------------------------------------------------
__fastcall TfmPrintGrade::TfmPrintGrade(TComponent* Owner)
    : TForm(Owner)
{
    // 清空编辑框信息
    edStuNum->Text = "";
    edStuName->Text = "";
    edStuClass->Text = "";
    this->Height = 480;
    queGrade->Close();
}
//---------------------------------------------------------------------------
void __fastcall TfmPrintGrade::edStuNumKeyPress(TObject *Sender, char &Key)
{
    // 回车,查询学生信息和已选课程
    if(Key == 13)
    {
        if(edStuNum->Text.Length() == 0)    // 学号为空,返回
            return;
        AnsiString szCon, sql;
        // 按照编号查询
        szCon += "学号='" + edStuNum->Text + "'";
        sql = "select 姓名, 班级名称, 学籍编号 from ";
        sql += "学生信息 as a, 班级信息 as b ";
        sql += "where a.班级编号=b.班级编号 and " + szCon;
        queQuery->SQL->Clear();
        queQuery->SQL->Add(sql);
        queQuery->Open();
        if(queQuery->RecordCount <= 0)
        {
            Application->MessageBox("学号输入错误","提示",MB_OK);
            return;
        }
        // 更新姓名等信息
        edStuName->Text = queQuery->FieldByName("姓名")->AsString;
        edStuClass->Text = queQuery->FieldByName("班级名称")->AsString;
        QRLabel1->Caption = edStuName->Text + "  成绩单";
        QRLabel2->Caption = "学号  " + edStuNum->Text;
        // 更新成绩报表
        sql = "select b.课程名称,b.开课系别,b.教师,a.成绩";
        sql += " from 成绩表 as a, ";
        sql += " 课程信息 as b where a.课程编号=b.课程编号 ";
        sql += " and " + szCon + " order by a.课程编号";
        queGrade->SQL->Clear();
        queGrade->SQL->Add(sql);
        queGrade->Open();
        QuickRep1->DataSet = NULL;
        QuickRep1->DataSet = queGrade;
    }
}
//---------------------------------------------------------------------------
// 打印按钮, 调用报表工具的打印预览功能
void __fastcall TfmPrintGrade::btPrintClick(TObject *Sender)
{
    if(queGrade->RecordCount>0)
        QuickRep1->Preview();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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