📄 u_studentmanage.pas
字号:
begin
Sender.AsInteger := Integer(aList.Objects[i]);
break;
end;
end;
end;
procedure TFm_StudentManage.TbCtrl_DetailChange(Sender: TObject);
var
DataSetName, StdCode: string;
aQuery: TQuery;
aColumn: THColumn;
begin //
StdCode := Trim(MQuery.FieldByName('s_xhao').AsString);
case TbCtrl_Detail.TabIndex of
0: DataSetName := 'XSJTCY';
1: DataSetName := 'XSRXCJ';
2: DataSetName := 'XSSTZK';
end;
with DtQuery do
try
DisableControls;
Close;
SQL.Text := 'SELECT * FROM ' + DataSetName + ' WHERE s_xhao = ''' +
StdCode + '''';
Open;
RefreshGridColumns(DtGrid, DataSetName, QueryGetText, QuerySetText);
if TbCtrl_Detail.TabIndex = 1 then
begin
aQuery := TQuery.Create(Application);
with aQuery do
try
DataBaseName := DataDBase;
aColumn := DtGrid.FindFirstColumn('s_kmhao');
SQL.Text := 'SELECT * FROM xsrxkm WHERE s_kmhao LIKE ''' +
IntFormatStr(W_CurYear, 2) + '%''';
Open;
while not Eof do
begin
if Assigned(aColumn.Picklist) then
aColumn.Picklist.AddObject(FieldByName('s_rxkmu').AsString, Pointer(FieldByName('s_kmhao').AsInteger));
Next;
end;
if Assigned(aColumn) then
begin
aColumn.Field.OnGetText := QueryGetText;
aColumn.Field.OnSetText := QuerySetText;
end;
finally
Close;
Free;
end;
end;
finally
while ControlsDisabled do
EnableControls;
end;
end;
procedure TFm_StudentManage.QueryGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
DataSetGetText(DtGrid, Sender, Text, DisplayText);
end;
procedure TFm_StudentManage.QuerySetText(Sender: TField;
const Text: string);
begin
DataSetSetText(DtGrid, Sender, Text);
end;
procedure TFm_StudentManage.MQueryAfterScroll(DataSet: TDataSet);
var
DataSetName, StdCode: string;
begin //
//TbCtrl_DetailChange(nil);
StdCode := Trim(MQuery.FieldByName('s_xhao').AsString);
case TbCtrl_Detail.TabIndex of
0: DataSetName := 'XSJTCY';
1: DataSetName := 'XSRXCJ';
2: DataSetName := 'XSSTZK';
end;
with DtQuery do
try
DisableControls;
Close;
SQL.Text := 'SELECT * FROM ' + DataSetName + ' WHERE s_xhao = ''' +
StdCode + '''';
Open;
RefreshDataSetField(DtGrid, QueryGetText, QuerySetText);
finally
while ControlsDisabled do
EnableControls;
end;
end;
procedure TFm_StudentManage.TbBtn_AddClick(Sender: TObject);
begin //
if U_StudentMangeAction.Show_StudentMangeAction('',
Integer(MTrView.Selected.Data), 1) then
MTrViewChange(MTrView, MTrView.Selected);
end;
procedure TFm_StudentManage.TbBtn_EditClick(Sender: TObject);
begin //
if U_StudentMangeAction.Show_StudentMangeAction(
MQuery.FieldByName('s_xhao').AsString, 0, 2) then
MTrViewChange(MTrView, MTrView.Selected);
end;
procedure TFm_StudentManage.TbBtn_DeleteClick(Sender: TObject);
var
aQuery: TQuery;
tmS: string;
begin //
if MQuery.IsEmpty then
begin
U_GlobalProc.Show_ErrorMess('没有可删除的人员。');
Exit;
end;
if U_GlobalProc.Show_ConfirmMess('你真的要删除学生 ' +
MQuery.FieldByName('s_xming').AsString + ' 吗?') then
begin
tmS := MQuery.FieldByName('s_xhao').AsString;
aQuery := TQuery.Create(Application);
with aQuery do
try
DatabaseName := DataDBase;
// 家庭成员表
SQL.Text := 'DELETE FROM xsjtcy WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生入学成绩表
SQL.Text := 'DELETE FROM xsrxcj WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生学籍变化表
SQL.Text := 'DELETE FROM xsxjbh WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生奖惩情况表
SQL.Text := 'DELETE FROM xsjcqk WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生考勤统计表
SQL.Text := 'DELETE FROM xskqtj WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生品行表现表
SQL.Text := 'DELETE FROM xspxbx WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生身体状况表
SQL.Text := 'DELETE FROM xsstzk WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生个性发展评价表
SQL.Text := 'DELETE FROM xsgxfz WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生参加活动情况表
SQL.Text := 'DELETE FROM xscjhd WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生交纳学杂费情况表
SQL.Text := 'DELETE FROM xsszfqk WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生期末老师评语表
SQL.Text := 'DELETE FROM xsqmpy WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生期末一般性评价表
SQL.Text := 'DELETE FROM xsybpj WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 考试成绩表
SQL.Text := 'DELETE FROM kscj WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
finally
Free;
end;
MQuery.Delete;
MQuery.ApplyUpdates;
end;
end;
procedure TFm_StudentManage.TbBtn_BBanClick(Sender: TObject);
begin //
end;
procedure TFm_StudentManage.TbBtn_HelpClick(Sender: TObject);
begin //
end;
procedure TFm_StudentManage.MQueryAfterOpen(DataSet: TDataSet);
begin
if MQuery.IsEmpty then
begin
TbBtn_Edit.Enabled := False;
TbBtn_Delete.Enabled := False;
TbBtn_BBan.Enabled := False;
PM_Edit.Enabled := False;
PM_Delete.Enabled := False;
PM_BBan.Enabled := False;
end
else
begin
TbBtn_Edit.Enabled := True;
TbBtn_Delete.Enabled := True;
//TbBtn_BBan.Enabled := True;
PM_Edit.Enabled := True;
PM_Delete.Enabled := True;
//PM_BBan.Enabled := True;
end;
end;
procedure TFm_StudentManage.MQueryBeforePost(DataSet: TDataSet);
begin //
FEdState := MQuery.State;
end;
procedure TFm_StudentManage.MQueryAfterPost(DataSet: TDataSet);
var
tmS: string;
tmNj: integer;
begin //
MQuery.ApplyUpDates;
if FEdState = dsInsert then
begin
tmS := MQuery.FieldByName('s_xhao').AsString;
tmNj := W_CurYear - StrToInt(Copy(tmS, 4, 4)) + 1;
with UpQuery do
begin
ParamByName('ps_xhao').AsString := tmS;
ParamByName('psi_nji').AsInteger := tmNj;
Prepare;
ExecSQL;
// 学生考勤统计表
SQL.Text := 'INSERT INTO xskqtj (s_xhao, s_xqhao) ' +
'SELECT s_xhao, ''' + S_CurTermCode + ''' ' +
'FROM xsjbxx WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生品行表现表
SQL.Text := 'INSERT INTO xspxbx (s_xhao, s_xqhao, i_pjdhao) ' +
'SELECT d1.s_xhao, ''' + S_CurTermCode + ''', d2.i_pjdhao ' +
'FROM xsjbxx d1 JOIN pxbxzb d2 ' +
'ON d1.s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生身体状况表
if Fm_StudentMangeAction.Qry_Health.IsEmpty then
begin
SQL.Text := 'INSERT INTO xsstzk (s_xhao, s_xqhao) ' +
'SELECT s_xhao, ''' + S_CurTermCode + ''' ' +
'FROM xsjbxx WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
end;
// 学生个性发展评价表
SQL.Text := 'INSERT INTO xsgxfz (s_xhao, s_xqhao, i_pjdhao) ' +
'SELECT d1.s_xhao, ''' + S_CurTermCode + ''', d2.i_pjdhao ' +
'FROM xsjbxx d1 JOIN gxfznr d2 ' +
'ON d1.s_xhao = ''' + tmS + '''';
ExecSQL;
// 学生参加活动评价表
SQL.Text := 'INSERT INTO xscjhd (s_xhao, s_xqhao, si_hddhao) ' +
'SELECT d1.s_xhao, ''' + S_CurTermCode + ''', d2.FieldCode ' +
'FROM xsjbxx d1 JOIN "' + S_SysPath + '\dict3" d2 ' +
'ON d1.s_xhao = ''' + tmS + '''' +
'AND d2.TableName=''XSCJHD'' AND d2.FieldName=''SI_HDDHAO''';
ExecSQL;
// 学生一般性评价表
SQL.Text := 'INSERT INTO xsybpj (s_xhao, s_xqhao) ' +
'SELECT s_xhao, ''' + S_CurTermCode + ''' ' +
'FROM xsjbxx WHERE s_xhao = ''' + tmS + '''';
ExecSQL;
end;
end;
end;
procedure TFm_StudentManage.MQueryD_CSRQIGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin//
if Sender.AsFloat < 10959 then
Text := ''
else
Text := FormatDateTime('ddddd', Sender.AsDateTime);
end;
procedure TFm_StudentManage.TbBtn_PrintClick(Sender: TObject);
begin //
Show_Print(MGrid);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -