Как показать фактическое время процесса с помощью индикатора выполнения в VB.NET
Всем привет,
Я разрабатываю программу. внутри него есть кнопка, которая экспортирует отчет crystal в PDF-файл.
когда мы нажимаем эту кнопку, требуется некоторое время, чтобы экспортировать отчет crystal в формате PDF.
Я хочу показать это фактическое время обработки, используя индикатор выполнения в моей форме.
Пожалуйста, помогите кому-нибудь, и ниже я упомянул коды, которые я использовал для экспорта crystal report в формате PDF
Спасибо
Что я уже пробовал:
Private Sub SavePDF() Dim Local = File.ReadAllLines(Application.StartupPath + "\Settings\Connection\db.TWC") ' Use a note pad file to save the connectopn string Dim dt As New DataSet Dim cnn As SqlConnection Dim sqlAdp As SqlDataAdapter cnn = New SqlConnection(Local(0)) cnn.Open() sqlAdp = New SqlDataAdapter("Select * from QuotationDB where Reference = '" & lblRef.Text.Trim.ToString & "'", cnn) cnn.Close() 'connection close here , that is disconnected from data source DataSet11.Clear() sqlAdp.Fill(DataSet11, "DataTable1") Dim objRpt As New ReportDocument objRpt.Load(Application.StartupPath + "\Settings\Reports\CrystalReport2.rpt") frmQuotationPrint.CrystalReportViewer2.ReportSource = objRpt frmQuotationPrint.CrystalReportViewer2.Refresh() Try Dim CrExportOptions As ExportOptions Dim CrDiskFileDestinationOptions As New DiskFileDestinationOptions() Dim CrFormatTypeOptions As New PdfRtfWordFormatOptions() objRpt.SetDataSource(DataSet11.Tables(0)) If lblMachine.Text = "25ton Mobile Crane" Then CrDiskFileDestinationOptions.DiskFileName = ("E:\Quoatitons\2018\25t MC\XPS\" & lblRef.Text & " (" & lblCustomerName.Text & ").pdf") End If If lblMachine.Text = "45ton Rough Terrain" Then CrDiskFileDestinationOptions.DiskFileName = ("E:\Quoatitons\2018\45t RT\XPS\" & lblRef.Text & " (" & lblCustomerName.Text & ").pdf") End If If lblMachine.Text = "50ton Mobile Crane" Then CrDiskFileDestinationOptions.DiskFileName = ("E:\Quoatitons\2018\50t MC\XPS\" & lblRef.Text & " (" & lblCustomerName.Text & ").pdf") End If If lblMachine.Text = "55ton Crawler Crane" Then CrDiskFileDestinationOptions.DiskFileName = ("E:\Quoatitons\2018\55t CC\XPS\" & lblRef.Text & " (" & lblCustomerName.Text & ").pdf") End If CrExportOptions = objRpt.ExportOptions With CrExportOptions .ExportDestinationType = ExportDestinationType.DiskFile .ExportFormatType = ExportFormatType.PortableDocFormat .DestinationOptions = CrDiskFileDestinationOptions .FormatOptions = CrFormatTypeOptions End With objRpt.Export() Catch ex As Exception End Try End Sub
Richard Deeming
"Select * from QuotationDB where Reference = '" & lblRef.Text.Trim.ToString & "'"
Ваш код потенциально уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
sqlAdp = New SqlDataAdapter("Select * from QuotationDB where Reference = @Reference", cnn) sqlAdp.SelectCommand.Parameters.AddWithValue("@Reference", lblRef.Text.Trim())