У меня есть кнопка для отображения другой формы и отправки параметров в хрустальный отчет, но после того, как я нажму на эту кнопку, он всегда будет показывать логин базы данных, и мне нужно ввести имя пользователя и пароль. Когда я отмечаю «использовать интегрированную защиту», это не сработало. Мой вопрос: как подключиться к базе данных, не указав логин?Как избежать приглашения для входа при использовании отчетов Crystal?
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class param_list_agree
Private Sub Cmdpreview_Click(sender As Object, e As EventArgs) Handles Cmdpreview.Click
Call opendb()
Dim cryrpt As New ReportDocument
cryrpt.Load("D:\Report\List_Agreement.rpt")
Dim crparamdfs As ParameterFieldDefinitions
Dim crparamdf As ParameterFieldDefinition
Dim crparamvl As New ParameterValues
Dim crparamdisvl As New ParameterDiscreteValue
Dim konek As New ConnectionInfo
crparamdisvl.Value = DTP1.Text
crparamdfs = cryrpt.DataDefinition.ParameterFields
crparamdf = crparamdfs.Item("@date_to")
crparamvl = crparamdf.CurrentValues
crparamvl.Clear()
crparamvl.Add(crparamdisvl)
crparamdf.ApplyCurrentValues(crparamvl)
rpt_listagree.CrystalReportViewer1.ReportSource = cryrpt
rpt_listagree.CrystalReportViewer1.Refresh()
rpt_listagree.Show()
'CrystalReportViewer1.ReportSource = cryrpt
'CrystalReportViewer1.Refresh()
With konek
.ServerName = "ServerName"
.DatabaseName = "DatabaseName"
.UserID = "UserID"
.Password = "Password"
.IntegratedSecurity = False
End With
Me.Close()
End Sub
Private Sub param_list_agree_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Call opendb()
End Sub
End Class
В вашем коде, вы пробовали не устанавливать .'UserID' и '.Password' и установка' .IntegratedSecurity = true'? На самом деле это, кажется, избыточный код, поскольку «конек» даже не используется, насколько я могу судить. Возможно, это проблема с ур. – DeanOC
Нам больше не нужно использовать ключевое слово 'Call'. – OneFineDay
То же самое, всегда показывать базу данных логина –