Skip to Content
0
Jun 08, 2023 at 09:55 PM

vb.net 2022 - crystal report windows forms viewer failed to open the connection

128 Views Last edit Jul 28, 2023 at 03:28 PM 3 rev

Need help, Please

1- mysql-connector-odbc-8.0.32-winx64.msi connecting correctly

2- vb 2022 windows form framework 4.8.1
3- connect to database from crystal report successful and i did testing design
the problem is i get failing in opening report

sharing my code:
Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click

Dim myCriteria As String = "" Dim conn As MySqlConnection = Open_myDB() Dim cmd As New MySqlCommand() cmd.Connection = conn If DataGridView2.SelectedRows.Count > 0 Then Dim selectedRow As DataGridViewRow = DataGridView2.SelectedRows(0) Dim V_dgvBarcode As Object = selectedRow.Cells("dgvBarcode").Value cmd.Parameters.AddWithValue("@vSearch", V_dgvBarcode) myCriteria = "where M_Barcode = @vSearch " cmd.CommandText = "Select * From maintbl " & myCriteria Dim myReader As MySqlDataReader = cmd.ExecuteReader() If myReader.HasRows Then Dim dataTable As New DataTable() dataTable.Load(myReader) Dim reportsViewerForm As New ReportsViewerfrm() reportsViewerForm.SetReportData(dataTable) reportsViewerForm.Show() End If cmd.Dispose() myReader.Close() conn.Close() End If End Sub 2-in form: ReportsViewerfrmImports CrystalDecisions.CrystalReports.EngineImports CrystalDecisions.SharedImports CrystalDecisions.Windows.FormsPublic Class ReportsViewerfrm Private Sub SetDatabaseCredentials(cryReport As ReportDocument) Dim crConnectionInfo As New CrystalDecisions.Shared.ConnectionInfo() crConnectionInfo.ServerName = "192.1.1.1" crConnectionInfo.DatabaseName = "test_dbasee" crConnectionInfo.UserID = "Administrator" crConnectionInfo.Password = "test@123" For Each crTable As CrystalDecisions.CrystalReports.Engine.Table In cryReport.Database.Tables Dim crTableLogonInfo As CrystalDecisions.Shared.TableLogOnInfo = crTable.LogOnInfo crTableLogonInfo.ConnectionInfo = crConnectionInfo crTable.ApplyLogOnInfo(crTableLogonInfo) Next End Sub Public Sub SetReportData(dataTable As DataTable) Dim cryReport As New ReportDocument() cryReport.Load("D:\MY_SYSTEM\Printing\InqDetails.rpt") cryReport.SetDataSource(dataTable) SetDatabaseCredentials(cryReport) CrystalReportViewer1.ReportSource = cryReport End SubEnd Class