【问题标题】:Crystal report items not displaying when deployed into client pc vb.net水晶报表项目部署到客户端 pc vb.net 时不显示
【发布时间】:2018-07-07 05:54:33
【问题描述】:

在安装了数据库的服务器 PC 上运行应用程序时,它正在工作并显示我的数据库中的项目,但是当我在我的客户端 PC 上安装并运行它时,它没有显示任何错误。我使用 vb.net 2013 社区,wamp mysql 作为数据库和 sap 水晶报告版本 13.0.12.1494,我正在使用 odbc 我的数据库连接

这是它在我的服务器电脑上运行的屏幕截图

这是来自我的客户端电脑的一个,您可以看到我的列表视图正在读取并显示数据库中的项目,但是当我点击打印时,水晶报告显示为空

这是我的应用配置和模块连接中的连接字符串

App.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  </startup>

  <connectionStrings>
    <add name="MySqlConnectionString" connectionString="SERVER=192.168.1.2;DATABASE=payparkingsystem;UID=connect;PASSWORD=password;" />
  </connectionStrings>

</configuration>

模块连接.vb.

Imports MySql.Data.MySqlClient
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Configuration
Module ModuleConnection

    Public connString1 As String = ConfigurationManager.ConnectionStrings("MySqlConnectionString").ToString()
    Public conn As MySqlConnection = New MySqlConnection(connString1)
    Public sql As String = ""

    Public Function ExecuteQuery(ByVal query As String) As DataTable
        Dim sqlDT As New DataTable
        Try
            Dim sqlCon As New MySqlConnection(connString1)
            Dim sqlDA As New MySqlDataAdapter(query, sqlCon)
            Dim sqlCB As New MySqlCommandBuilder(sqlDA)
            sqlDA.Fill(sqlDT)
        Catch ex As Exception
        End Try
        Return sqlDT
    End Function
End Module

这是我的打印代码

Public Sub PrintEmployeeAccountsLogsSearch()
        Dim cryRpt As New ReportDocument
        cryRpt.Load("C:\Reports\CrystalReportPrintEmployeeAccountsLogsSearch.vb.rpt")
        Dim crParameterFieldDefinitions As ParameterFieldDefinitions
        Dim crParameterFieldDefinition As ParameterFieldDefinition
        Dim crParameterValues As New ParameterValues
        Dim crParameterDiscreteValue As New ParameterDiscreteValue
        crParameterDiscreteValue.Value = print
        crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields
        crParameterFieldDefinition = crParameterFieldDefinitions.Item("My Parameter")
        crParameterValues = crParameterFieldDefinition.CurrentValues
        crParameterValues.Clear()
        crParameterValues.Add(crParameterDiscreteValue)
        crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)
        FormPrintEmployeeAccountsLogsSearch.CrystalReportViewer1.ReportSource = cryRpt
        FormPrintEmployeeAccountsLogsSearch.CrystalReportViewer1.Refresh()
        cryRpt.PrintToPrinter(1, True, 0, 0)
    End Sub

这是我的数据库截图

我希望有人可以帮助我解决我的错误任何帮助将不胜感激提前谢谢你和更多的力量家伙!

【问题讨论】:

    标签: mysql vb.net winforms crystal-reports


    【解决方案1】:

    您是否从客户端连接数据库?

    【讨论】:

    • 我假设它已连接,因为我的列表视图正在显示我的数据库中的项目,并且我的登录也正常工作。
    • 我在您的代码上看到了一些用于打印报告的内容,您正在调用 ExecuteQuery 来返回报告的数据源,我假设您正在通过报告访问数据库,是对吗?
    • 我只使用 executequery 来操作表中的项目,例如在我的数据库中添加、编辑或删除项目。我的水晶报告中将显示的项目来自表格。 @guto 康德拉
    • 可以分享一下你的水晶报表文件吗?
    • Here 是 .rpt 文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多