Зертханалық жұмыс №1 «Қойма» деректер қорын басқару жүйесін құру


Қадам 2 – МҚ – на SQL- сұрауының бағдарламалық өзгеруі



бет40/100
Дата06.02.2022
өлшемі1,89 Mb.
#53051
1   ...   36   37   38   39   40   41   42   43   ...   100
Байланысты:
БД-зертханалық жұмыс

Қадам 2 – МҚ – на SQL- сұрауының бағдарламалық өзгеруі


  1. Процедура атауын форма классын бейнелеу Public бөліміне орналастырыңыз:




  1. Төменде көрсетілген процедураны құрыңыз және басқа да қосалқы бағдарламалардың хабарламалары жанында unMain модулінің interface секциясында оның атауын орналастырыңыз:

procedure TfmMain.NewQuerySQL;
var strSQL:string;
begin
DataSource1.Enabled :=False;
With ADOQuery1 do begin
if Active=True then Active:=False;
SQL.Clear;
strSQL:= 'SELECT * FROM Страны ORDER BY Страны.'+NameSortField;
if Desc then strSQL:=strSQL+' DESC;' else strSQL:=strSQL+';';
SQL.Add(strSQL);
Active:=True;
end;
DataSource1.Enabled :=True;
end;

  1. Сізбен құрылған оқиғаларды өндеушілерде NewQuerySQL процедураны шақыруды қосыңыз:

procedure TfmMain.DBGrid1TitleBtnClick(Sender: TObject; ACol: Integer;
Field: TField);
begin
if (Field <> nil) then begin
if NameSortField=Field.FullName then begin
Desc:=Not(Desc);
end else begin
Desc:=False;
NameSortField:=Field.FullName;
end;
end;
NewQuerySQL;
end;
procedure TfmMain.FormCreate(Sender: TObject);
begin
NameSortField:=DBGrid1.Columns[0].FieldName;Desc:=False;
NewQuerySQL;
end;

  1. Бағдарламаны орындау үшін іске қосыңыз және бағаналардың сұрыпталуы ойлағандай іске асып жатқанына көз жеткізіңіз.

  2. МҚ – на сұрауды орындау уақытында бағдарлама қолданушының әрекетіне жауап бермейді және оны ол туралы ескеру керек. Rx кітапханасында осыны істеуге көмектесетін ShowSplashWindow арнайы функция бар. Бұл функцияның суреттелуін кітапхана бойынша анықтамада оқыңыз, содан кейін unMain модулінің мәтініне төменде қара шрифтпен бөліп көрсетілген жолын орналастырыңыз:

var
fmMain: TfmMain;
NameSortField:string;Desc:boolean;
implementation
uses SplshWnd;

{$R *.DFM}


procedure TfmMain.NewQuerySQL;
var strSQL:string;Splash: TForm;
begin
Splash := ShowSplashWindow(Application.Icon,
'Загрузка данных. Подождите, пожалуйста...', False,
Application.MainForm);
try
DataSource1.Enabled :=False;
With ADOQuery1 do begin
if Active=True then Active:=False;
SQL.Clear;
strSQL:= 'SELECT * FROM Страны ORDER BY Страны.'+NameSortField;
if Desc then strSQL:=strSQL+' DESC;' else strSQL:=strSQL+';';
SQL.Add(strSQL);
Active:=True;
end;
DataSource1.Enabled :=True;
finally
Splash.Free;
end;
end;


Достарыңызбен бөлісу:
1   ...   36   37   38   39   40   41   42   43   ...   100




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет