📄 ubclass.pas
字号:
adqReward: TADOQuery;
begin
adqReward := TADOQuery.Create(nil);
try
lvwReward.Clear;
with adqReward do
begin
connection := _Conn;
sql.Clear;
sql.Add('select a.ID,a.Student,b.Name,a.LEVELS,c.DESCRIPTION as CD,'
+ 'a.REC_TIME,a.DESCRIPTION as AD from REWARD a,STUDENT b,REWARD_LEVELS c'
+ ' where a.STUDENT=b.ID and a.LEVELS=c.CODE'
+ ' and a.STUDENT=''' + _ID + '''');
open;
if not isempty then
begin
first;
while not eof do
begin
with lvwReward.Items.Add do
begin
caption := GetStrDataSet(adqReward, 'ID', '');
subitems.Add(GetStrDataSet(adqReward, 'REC_TIME', ''));
subitems.Add(GetStrDataSet(adqReward, 'LEVELS', '') + '-'
+ GetStrDataSet(adqReward, 'CD', ''));
subitems.Add(GetStrDataSet(adqReward, 'AD', ''));
end;
next;
end;
end;
end;
finally
adqReward.Free;
end;
end;
function TStudent.GetIDValue(FullValue: string): string;
var
i: integer;
begin
i := pos('-', FullValue);
result := copy(FullValue, 1, i - 1);
end;
function TStudent.GetNewCCID: string;
var
adqID: TADOQuery;
begin
adqID := TADOQuery.Create(nil);
try
with adqID do
begin
connection := _Conn;
sql.Clear;
sql.Add('Select * from COUNT_ER'
+ ' where CODE=''1''');
open;
first;
edit;
fieldbyname('COUNTER_VAL').asinteger := fieldbyname('COUNTER_VAL').asinteger + 1;
post;
result := GetStrDataSet(adqID, 'COUNTER_VAL', '');
end;
finally
adqID.Free;
end;
end;
function TStudent.GetNewCRID: string;
var
aqdID: TADOQuery;
begin
aqdID := TADOQuery.Create(nil);
try
with aqdID do
begin
connection := _Conn;
sql.Clear;
sql.Add('Select * from COUNT_ER'
+ ' where CODE=''3''');
open;
first;
edit;
fieldbyname('COUNTER_VAL').AsInteger := fieldbyname('COUNTER_VAL').AsInteger + 1;
post;
result := GetStrDataSet(aqdID, 'COUNTER_VAL', '');
end;
finally
aqdID.Free;
end;
end;
function TStudent.GetNewCSID: string;
var
adqID: TADOQuery;
begin
adqID := TADOQuery.Create(nil);
try
with adqID do
begin
connection := _Conn;
sql.Clear;
sql.Add('Select * from COUNT_ER'
+ ' where CODE=''2''');
open;
first;
edit;
fieldbyname('COUNTER_VAL').asinteger := fieldbyname('COUNTER_VAL').asinteger + 1;
post;
result := GetStrDataSet(adqID, 'COUNTER_VAL', '');
end;
finally
adqID.Free;
end;
end;
function TStudent.GetNewSID: string;
var
adqID: TADOQuery;
begin
adqID := TADOQuery.Create(nil);
try
with adqID do
begin
connection := _Conn;
sql.Clear;
sql.Add('Select * from COUNT_ER'
+ ' where CODE=''0''');
open;
first;
edit;
fieldbyname('COUNTER_VAL').asinteger := fieldbyname('COUNTER_VAL').asinteger + 1;
post;
result := GetStrDataSet(adqID, 'COUNTER_VAL', '');
end;
finally
adqID.Free;
end;
end;
procedure TStudent.GetPunishList(cmbPunish: TComboBox);
var
adqPunish: TADOQuery;
begin
adqPunish := TADOQuery.Create(nil);
try
cmbPunish.Clear;
with adqPunish do
begin
connection := _Conn;
sql.Clear;
sql.Add('select * from PUNISH_LEVELS');
open;
if not isempty then
begin
first;
while not eof do
begin
cmbPunish.AddItem(GetStrDataSet(adqPunish, 'CODE', '') + '-'
+ GetStrDataSet(adqPunish, 'DESCRIPTION', ''), nil);
next;
end;
end;
end;
finally
adqPunish.Free;
end;
end;
procedure TStudent.GetRewardList(cmbReward: TComboBox);
var
adqReward: TADOQuery;
begin
adqReward := TADOQuery.Create(nil);
try
cmbReward.Clear;
with adqReward do
begin
connection := _Conn;
sql.Clear;
sql.Add('select * from REWARD_LEVELS');
open;
if not isempty then
begin
first;
while not eof do
begin
cmbReward.AddItem(GetStrDataSet(adqReward, 'CODE', '') + '-'
+ GetStrDataSet(adqReward, 'DESCRIPTION', ''), nil);
next;
end;
end;
end;
finally
adqReward.Free;
end;
end;
procedure TStudent.ModiChange(CCID, CID: string; CTime: TDateTime;
CD: string);
var
adqChange: TADOQuery;
begin
adqChange := TADOQuery.Create(nil);
try
with adqChange do
begin
connection := _Conn;
sql.Clear;
sql.Add('select * from change'
+ ' where id=''' + CCID + '''');
open;
if not isempty then
begin
first;
edit;
fieldbyname('CHANGE').AsString := GetIDValue(CID);
fieldbyname('REC_TIME').AsDateTime := int(CTime);
fieldbyname('DESCRIPTION').AsString := CD;
post;
end;
end;
finally
adqChange.Free;
end;
end;
procedure TStudent.ModiPunish(CCID, CID: string; CTime: TDateTime; CD,
SEnable: string);
var
adqPunish: TADOQuery;
begin
adqPunish := TADOQuery.Create(nil);
try
with adqPunish do
begin
connection := _Conn;
sql.Clear;
sql.Add('select * from punishment'
+ ' where id=''' + CCID + '''');
open;
if not isempty then
begin
first;
edit;
fieldbyname('LEVELS').AsString := GetIDValue(CID);
fieldbyname('REC_TIME').AsDateTime := int(CTime);
fieldbyname('DESCRIPTION').AsString := CD;
fieldbyname('ENABLE').AsString := SEnable;
post;
end;
end;
finally
adqPunish.Free;
end;
end;
procedure TStudent.ModiReward(CCID, CID: string; CTime: TDateTime;
CD: string);
var
adqReward: TADOQuery;
begin
adqReward := TADOQuery.Create(nil);
try
with adqReward do
begin
connection := _Conn;
sql.Clear;
sql.Add('select * from reward'
+ ' where id=''' + CCID + '''');
open;
if not isempty then
begin
first;
edit;
fieldbyname('LEVELS').AsString := GetIDValue(CID);
fieldbyname('REC_TIME').AsDateTime := int(CTime);
fieldbyname('DESCRIPTION').AsString := CD;
post;
end;
end;
finally
adqReward.Free;
end;
end;
function TStudent.MoveNext: Boolean;
begin
with _adqStudent do
begin
if _Update then Update;
if isempty then result := false
else
begin
Next;
if eof then
begin
setValue(true);
result := false;
end
else SetValue(true);
end;
end;
end;
function TStudent.MovePrior: Boolean;
begin
with _adqStudent do
begin
if _Update then Update;
if isempty then result := false
else
begin
Prior;
if bof then
begin
setValue(true);
result := false;
end
else SetValue(true);
end;
end;
end;
procedure TStudent.SetBDate(const Value: TDateTime);
begin
if int(Value) <> int(_BDate) then
begin
_BDate := int(Value);
_Update := true;
end;
end;
procedure TStudent.SetClass(Value: string);
begin
if _Class <> Value then
begin
_Class := Value;
_Update := true;
end;
end;
procedure TStudent.SetDept(Value: string);
begin
if _Dept <> Value then
begin
_Dept := Value;
_Update := true;
end;
end;
procedure TStudent.SetID(Value: string);
begin
if _ID <> Value then
begin
_ID := Value;
_Update := true;
end;
end;
procedure TStudent.SetName(Value: string);
begin
if _Name <> Value then
begin
_Name := Value;
_Update := true;
end;
end;
procedure TStudent.SetNP(Value: string);
begin
if _NP <> Value then
begin
_NP := Value;
_Update := true;
end;
end;
procedure TStudent.SetSex(Value: string);
begin
if _Sex <> Value then
begin
_Sex := Value;
_Update := true;
end;
end;
procedure TStudent.SetValue(NotNULL: Boolean);
begin
with _adqStudent do
begin
if NotNULL then
begin
_ID := GetStrDataSet(_adqStudent, 'ID', '');
_Name := GetStrDataSet(_adqStudent, 'NAME', '');
_Sex := GetStrDataSet(_adqStudent, 'SEX', '');
_BDate := fieldbyname('BIRTHDAY').asDateTime;
_NP := GetStrDataSet(_adqStudent, 'NATIVE_PLACE', '');
_Class := GetStrDataSet(_adqStudent, 'CLASS', '') + '-'
+ GetClassName(GetStrDataSet(_adqStudent, 'CLASS', ''));
_Dept := GetStrDataSet(_adqStudent, 'DEPARTMENT', '') + '-'
+ GetDeptName(GetStrDataSet(_adqStudent, 'DEPARTMENT', ''))
end
else
begin
_ID := '';
_Name := '';
_Sex := '';
_BDate := Now;
_NP := '';
_Class := '';
_Dept := '';
end;
end;
end;
function TStudent.SetValue(SID: string):boolean;
begin
with _adqStudent do
begin
if locate('ID',SID,[]) then
begin
SetValue(true);
result:=true;
end
else result:=false;
end;
end;
procedure TStudent.Update;
begin
with _adqStudent do
begin
if Locate('ID', _ID, []) then
begin
edit;
fieldbyname('NAME').AsString := _Name;
fieldbyname('SEX').AsString := _Sex;
fieldbyname('CLASS').AsString := GetIDValue(_Class);
fieldbyname('DEPARTMENT').AsString := GetIDValue(_Dept);
fieldbyname('BIRTHDAY').AsDateTime := int(_BDate);
fieldbyname('NATIVE_PLACE').AsString := _NP;
post;
end;
_Update := false;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -