📄 ureeditf.pas
字号:
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('select * from Class where ClassID =:ClassID');
Query.ParamByName('ClassID').AsString := ClassID;
Query.Open;
if Query.RecordCount = 0 then
Result := False
else Result := True;
Query.Free;
except
Result := False;
end;
end;
procedure TReEditF.DelClass(ClassID: string);
var
Query : TQuery;
begin
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('delete from Class where ClassID =:ClassID');
Query.ParamByName('ClassID').AsString := ClassID;
Query.ExecSQL;
Query.Free;
end;
procedure TReEditF.InsClass(ClassID, ClassName: string);
var
Query : TQuery;
begin
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('insert into Class(ClassID,ClassName) values(:ClassID,:ClassName)');
Query.ParamByName('ClassID').AsString := ClassID;
Query.ParamByName('ClassName').AsString := ClassName;
Query.ExecSQL;
Query.Free;
end;
procedure TReEditF.Button4Click(Sender: TObject);
var
i : integer;
begin
if RadioButton3.Checked then
begin
if Length(ClassEdit.Text)<>4 then
begin
MessageDlg('类别代码错误',mtError,[mbok],0);
Exit;
end;
if CheckExistClass(ClassEdit.Text) then
begin
MessageDlg('类别代码已经存在',mtError,[mbok],0);
Exit;
end;
try
InsClass(ClassEdit.Text,ClassNameEdit.Text);
with ListView2.Items.Add do
begin
Caption := ClassEdit.Text;
SubItems.Add(ClassNameEdit.Text);
end;
MessageBox(0,'添加类别成功',PChar('添加'+ClassEdit.Text),MB_OK);
except
MessageDlg('添加类别出错',mtError,[mbok],0);
end;
end;
if RadioButton4.Checked then
begin
if Length(ClassEdit.Text)<>4 then
begin
MessageDlg('类别代码错误',mtError,[mbok],0);
Exit;
end;
try
UpdateClass(ClassEdit.Text,ClassNameEdit.Text);
for i := 0 to ListView2.Items.Count -1do
begin
if ListView2.Items[i].Caption = ClassEdit.Text then
ListView2.Items[i].SubItems.Strings[0] := ClassNameEdit.Text;
end;
MessageBox(0,'修改类别成功',PChar('修改'+ClassEdit.Text),MB_OK);
except
MessageDlg('修改类别出错',mtError,[mbok],0);
end;
end;
try
CountInit;
DelInit;
except
ListView1.Items.Clear;
end;
end;
procedure TReEditF.RadioButton3Click(Sender: TObject);
begin
ClassEdit.Enabled := true;
ClassEdit.Color := clWindow;
end;
procedure TReEditF.RadioButton4Click(Sender: TObject);
begin
ClassEdit.Enabled := False;
ClassEdit.Color := clBtnFace;
end;
procedure TReEditF.UpDateClass(ClassID,ClassName: string);
var
Query : TQuery;
begin
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('update Class set ClassName=:ClassName where ClassID =:ClassID');
Query.ParamByName('ClassID').AsString := ClassID;
Query.ParamByName('ClassName').AsString := ClassName;
Query.ExecSQL;
Query.Free;
end;
procedure TReEditF.Button3Click(Sender: TObject);
begin
if ListView2.Selected <> nil then
try
DelClass(ListView2.Selected.Caption);
ListView2.Items.Delete(ListView2.Selected.Index);
try
CountInit;
DelInit;
except
ListView1.Items.Clear;
end;
except
MessageDlg('删除类别<'+ListView2.Selected.Caption+'>',mtError,[mbok],0);
end
else MessageDlg('没有选择类别',mtWarning,[mbok],0);
end;
function TReEditF.GetClassName(ClassID: string): string;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('select ClassName from Class where ClassID =:ClassID');
Query.ParamByName('ClassID').AsString := ClassID;
Query.Open;
if Query.RecordCount <> 0 then
Result := Query.FieldByName('ClassName').AsString
else Result := '未知';
Query.Free;
except
Result := '未知';
end;
end;
procedure TReEditF.ListView2Change(Sender: TObject; Item: TListItem;
Change: TItemChange);
begin
ListView2Click(Sender);
end;
procedure TReEditF.CountInit;
begin
try
ViewClass;
except
ListView3.Items.Clear;
end;
{try
ViewGroup;
except
ListView4.Items.Clear;
end;}
ViewBook;
end;
function TReEditF.GetIsClassBookCount(ClassID: string): integer;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('select Count(Code) from Book where Class =:ClassID');
Query.ParamByName('ClassID').AsString := ClassID;
Query.Open;
Result := Query.Fields[0].Value;
Query.Free;
except
Result := -1;
end;
end;
procedure TReEditF.ViewClass;
var
Query : TQuery;
begin
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('select * from Class');
Query.Open;
ListView3.Items.Clear;
while not Query.Eof do
begin
with ListView3.Items.Add do
begin
Caption := Query.FieldByName('ClassID').AsString;
SubItems.Add(Query.FieldByName('ClassName').AsString);
SubItems.Add(IntToStr(GetIsClassBookCount(Caption)));
end;
Query.Next;
end;
Query.Free;
end;
{function TReEditF.GetIsGroupUserCount(GroupID: string): integer;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('select Count(UserID) from Userb where GroupID =:GroupID');
Query.ParamByName('GroupID').AsString := GroupID;
Query.Open;
Result := Query.Fields[0].Value;
Query.Free;
except
Result := -1;
end;
end;}
{procedure TReEditF.ViewGroup;
var
Query : TQuery;
Total ,c: integer;
begin
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('select * from Groupb');
Query.Open;
ListView4.Items.Clear;
Total := 0;
while not Query.Eof do
begin
with ListView4.Items.Add do
begin
Caption := Query.FieldByName('GroupID').AsString;
SubItems.Add(Query.FieldByName('Des').AsString);
c := GetIsGroupUserCount(Caption);
Total := Total + c;
SubItems.Add(IntToStr(c));
end;
Edit2.Text := IntToStr(Total);
Query.Next;
end;
Query.Free;
end;}
function TReEditF.GetBookCount: integer;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('select Count(Code) from Book');
Query.Open;
Result := Query.Fields[0].Value;
Query.Free;
except
Result := -1;
end;
end;
function TReEditF.GetCurrBookCount: integer;
begin
Result := GetBookCount - GetLandedBookCount;
end;
function TReEditF.GetLandedBookCount: integer;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('select Count(Code) from Owner');
Query.Open;
Result := Query.Fields[0].Value;
Query.Free;
except
Result := -1;
end;
end;
function TReEditF.GetTimeOutBookCount: integer;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('select Count(distinct(Code)) from Owner where LandDate <:LandDate');
Query.ParamByName('LandDate').AsDateTime := Date-OutDay;
Query.Open;
Result := Query.Fields[0].Value;
Query.Free;
except
Result := -1;
end;
end;
procedure TReEditF.ViewBook;
begin
Edit3.Text := ' '+ IntToStr(GetBookCount);
Edit4.Text := ' '+IntToStr(GetCurrBookCount);
Edit5.Text := ' '+IntToStr(GetLandedBookCount);
Edit6.Text := ' '+IntToStr(GetTimeOutBookCount);
end;
procedure TReEditF.Button5Click(Sender: TObject);
begin
if SaveDialog1.Execute then
SaveListView(ListView2,'--- 图书类别列表 ---',SaveDialog1.FileName);
end;
procedure TReEditF.Button6Click(Sender: TObject);
begin
PrintListView(ListView2,'--- 图书类别列表 ---');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -