这是我的一步一步:
1-我在VS2010 IDE上创建了许多具有许多参数和公式字段的水晶报告 2-并且我的水晶报告的连接在设计时被给予了它们,并且SQL查询也在设计时生成(因此我不想在运行时创建新的数据集并将晶体报告数据源设置为它)。 3-当我尝试通过此代码在运行时显示水晶报告时:
Dim mov As New moves2
'mov is my report
Dim rep As New rep
'rep is the crystal report form
mov.DataSourceConnections.Item(0).SetConnection(DataBasePath, "data.accdb", "", "")
mov.Refresh()
rep.CrystalReportViewer1.ReportSource = mov
rep.CrystalReportViewer1.RefreshReport()
rep.ShowDialog()
mov.Dispose()
rep.Dispose()
出现一个消息框“登录失败”,出现“确定”按钮,单击“确定”按钮,每件事情都正常,报告正常加载数据,没有问题!
现在:如何跳过此错误消息,因为此软件将在客户端计算机上,此消息非常烦人,并且客户端似乎会将其视为错误。
非常感谢,我等着你的解决方案。
答案 0 :(得分:0)
您应该尝试使用包含SetConnection
参数的useIntegratedSecurity
重载,并将该参数设置为true,而不是将空字符串作为用户名和密码传递。
答案 1 :(得分:0)
经过大约一年的网络尝试和搜索,我找到了解决方案!但这令人难以置信,我应该在databaseName参数中给出数据库的完整路径!这是错的:
mov.DataSourceConnections.Item(0).SetConnection(DataBasePath, "data.accdb", "", "")
这是对的:
mov.DataSourceConnections.Item(0).SetConnection(DataBasePath, dataBasePath,"", "")
谢谢。