@@ -176,6 +176,7 @@ TDelphiAIDevDBChatView = class(TDockableForm)
176176 function GetFieldDBSelected : TDelphiAIDevDBRegistersFields;
177177 function GetJsonDatabase : string;
178178 procedure HandleErrorExecutingSQLCommand (const E: Exception);
179+ procedure ValidateIfDatabaseSelected ;
179180 public
180181 constructor Create(AOwner: TComponent); override;
181182 destructor Destroy; override;
@@ -671,7 +672,7 @@ procedure TDelphiAIDevDBChatView.FillDateLastReferences;
671672begin
672673 lbLastGeneration.Caption := ' ' ;
673674
674- if cBoxDatabases.Items.Count < 0 then
675+ if cBoxDatabases.Items.Count <= 0 then
675676 Exit;
676677
677678 lbLastGeneration.Caption := TUtils.DateTimeToStrEmpty(Self.GetFieldDBSelected.LastReferences);
@@ -682,8 +683,7 @@ procedure TDelphiAIDevDBChatView.btnGenerateDatabaseReferenceClick(Sender: TObje
682683 LView: TDelphiAIDevDBReferencesView;
683684 LFields: TDelphiAIDevDBRegistersFields;
684685begin
685- if cBoxDatabases.Items.Count < 0 then
686- Exit;
686+ Self.ValidateIfDatabaseSelected;
687687
688688 LFields := Self.GetFieldDBSelected;
689689 if LFields = nil then
@@ -699,9 +699,15 @@ procedure TDelphiAIDevDBChatView.btnGenerateDatabaseReferenceClick(Sender: TObje
699699 end ;
700700end ;
701701
702+ procedure TDelphiAIDevDBChatView.ValidateIfDatabaseSelected ;
703+ begin
704+ if cBoxDatabases.Items.Count <= 0 then
705+ TUtils.ShowMsgAndAbort(' Please select a database to continue' , cBoxDatabases);
706+ end ;
702707
703708function TDelphiAIDevDBChatView.GetFieldDBSelected : TDelphiAIDevDBRegistersFields;
704709begin
710+ Self.ValidateIfDatabaseSelected;
705711 Result := TDelphiAIDevDBRegistersFields(cBoxDatabases.Items.Objects[cBoxDatabases.ItemIndex]);
706712end ;
707713
@@ -721,7 +727,6 @@ procedure TDelphiAIDevDBChatView.ProcessSend;
721727 FSettings.ValidateFillingSelectedAI;
722728
723729 mmReturn.Lines.Clear;
724- Self.WaitingFormON;
725730
726731 LQuestion := FSettings.LanguageQuestions.GetLanguageDefinition;
727732
@@ -738,6 +743,7 @@ procedure TDelphiAIDevDBChatView.ProcessSend;
738743 LQuestion := LQuestion + FSettings.DefaultPrompt + sLineBreak;
739744 LQuestion := LQuestion + mmQuestion.Lines.Text;
740745
746+ Self.WaitingFormON;
741747 LTask := TTask.Create(
742748 procedure
743749 begin
@@ -802,6 +808,8 @@ procedure TDelphiAIDevDBChatView.btnExecuteSQLClick(Sender: TObject);
802808 LCommand: string;
803809 LField: TDelphiAIDevDBRegistersFields;
804810begin
811+ Self.ValidateIfDatabaseSelected;
812+
805813 LCommand := Trim(mmReturn.Lines.Text);
806814 if LCommand.IsEmpty then
807815 TUtils.ShowMsgAndAbort(' No SQL command informed' );
@@ -887,12 +895,18 @@ procedure TDelphiAIDevDBChatView.CopyAllGridDataClick(Sender: TObject);
887895
888896procedure TDelphiAIDevDBChatView.SaveAllGridDataAsCSVClick (Sender: TObject);
889897begin
898+ if DataSource1.DataSet.IsEmpty then
899+ TUtils.ShowMsgAndAbort(' There is no data to be exported' );
900+
890901 TUtilsDBGrids.DBGridToCSV(DBGrid1);
891902 TUtils.ShowV(' File saved successfully' );
892903end ;
893904
894905procedure TDelphiAIDevDBChatView.SaveAllGridDataAsTXTClick (Sender: TObject);
895906begin
907+ if DataSource1.DataSet.IsEmpty then
908+ TUtils.ShowMsgAndAbort(' There is no data to be exported' );
909+
896910 TUtilsDBGrids.DBGridToTxt(DBGrid1);
897911 TUtils.ShowV(' File saved successfully' );
898912end ;
0 commit comments