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 + -
显示快捷键?