Crystal report показал дубликаты данных
У меня есть код для отображения данных в datagridview (для проверки) и crystal reports
Проблема в том, что я получаю дублирующуюся запись в crystal report, в то время как datagridview в порядке и показывает одну запись..
Для каждой записи в представлении таблицы данных существует дубликат записи в crystal report. Заранее спасибо за помощь
Что я уже пробовал:
Private Sub Butt_searchInvoice(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Butt_searchInvoice.Click connect() sql = "select distinct SALESINVOice.[Invoice NO],[Invoice Date], " _ & "[Customer Name], Productname,Qty,Rate,amount from salesinvoice " _ & " inner join salesinvoicedetails on SALESINVOICE.[Invoice NO]= " _ & " salesinvoicedetails.[Invoice No] " _ & "where salesinvoice.[Invoice NO] = '" & txt_invoiceNO.Text & "' " objcmd = New SqlCommand(sql, objcon) objda.SelectCommand = objcmd Dim ds as new dataset objda.Fill(ds, "stt") ''displaying in datagridview DataGridview1.DataSource = ds.Tables("stt") ''displaying Data in Crystal report Dim Path as new SalesInvoicerpt() Path.Load(Application.StartupPath + "C:\SalesInvoicerpt.rpt") Path.SetDataSource(ds.Tables("stt")) CrystalReportViewer1.ReportSource = Path CrystalReportViewer1.RefreshReport() objcon .Close End Sub
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов / OWASP[^]